随笔分类 -  ZooKeeper

摘要:本文讲述基于zookeeper选主与故障切换的方法。我们的例子使用的是python。 使用的库是kazoo,安装方式 应用场景: 多个实例部署,但不是“去中心化”的部署方式; 有且只有一个节点作为master,履行master的职责,在例子中是注册调度器; 其他实例作为slave,不提供调度功能,但 阅读全文
posted @ 2017-10-14 15:06 扎心了老铁 阅读(3776) 评论(3) 推荐(0)
摘要:本文介绍在使用curator框架的时候如何handle session expire。 1、什么是zookeeper的会话过期? 一般来说,我们使用zookeeper是集群形式,如下图,client和zookeeper集群(3个实例)建立一个会话session。 在这个会话session当中,cli 阅读全文
posted @ 2017-09-18 15:04 扎心了老铁 阅读(20546) 评论(1) 推荐(1)
摘要:在分布式系统设计中,选主是一个常见的场景。选主是一个这样的过程,通过选主,主节点被选择出来控制其他节点或者是分配任务。 选主算法要满足的几个特征: 1)各个节点均衡的获得成为主节点的权利,一旦主节点被选出,其他的节点可以感知到谁是主节点,被服从分配。 2)主节点是唯一存在的 3)一旦主节点失效,宕机 阅读全文
posted @ 2017-07-29 23:04 扎心了老铁 阅读(10674) 评论(0) 推荐(3)
摘要:1、篇首语 curator是zookeeper的一个高级api开发包。封装了zookeeper众多的recipes,并且实现了一些新的recipes原语,最重要的是基于zookeeper提供的各种机制实现了更健壮的连接和异常处理。 本文将其中比较常用的一种recipe,就是cache。 2、各种Ca 阅读全文
posted @ 2017-07-27 17:11 扎心了老铁 阅读(7256) 评论(1) 推荐(1)
摘要:最简单的实现服务高可用的方法就是集群化,也就是分布式部署,但是分布式部署会带来一些问题。比如: 1、各个实例之间的协同(锁) 2、负载均衡 3、热删除 这里通过一个简单的实例来说明如何解决注册发现和负载均衡。 1、先解决依赖,这里只给出zk相关的依赖,pom.xml如下 2、ZkClient 这里使 阅读全文
posted @ 2017-07-17 20:03 扎心了老铁 阅读(8752) 评论(1) 推荐(1)