文档章节

Zookeeper学习系列(7)

momoHuang
 momoHuang
发布于 2014/07/01 23:14
字数 309
阅读 87
收藏 3

Zookeeper场景描述

在分布式的应用中,我们经常同时启动多个server,调用方(client) 选择其中之一发起请求。

分布式应用必须考虑高可用性和可扩展性:server的应用进程可能会崩溃。或者server本身可能也会dwon机。当server不够时,也有可能增加server的数量,总而言之,server列表并非一成不变的,而是一直处于动态的增减中。

那么client热河才能实时的更新server列表呢?解决的方案很多,Zookeeper是一个方案。


思路:

启动server时候,在Zookeeper的某个znode(假设为/sgroup )下创建一个子阶段。所创建的子节点的类型应该为ephemeral,这样子依赖,如果server 进程崩溃或者serverdown机,与Zookeeper连接的 Session就结束了,那么其的所有创建的子节点会被 Zookeeper自动删除,当崩溃的server恢复后,或者新增server时候,同样需要在/sgroup 节点下创建新的子节点。


对于client。只需注册/sgroup 子节点的监听,当 。/sgroup 下的子节点增加或者减少,Zookeeper会通知client,此时client更新server列表。



© 著作权归作者所有

momoHuang
粉丝 4
博文 24
码字总数 10538
作品 0
深圳
私信 提问
ZooKeeper教程资源收集(简介/原理/示例/解决方案)

菩提树下的杨过: ZooKeeper 笔记(1) 安装部署及hello world ZooKeeper 笔记(2) 监听数据变化 ZooKeeper 笔记(3) 实战应用之【统一配置管理】 ZooKeeper 笔记(4) 实战应用之【消除单点故障】...

easonjim
2017/09/05
0
0
zookeeper系列(二)实战master选举

master选举 考虑7*24小时向外提供服务的系统,不能有单点故障,于是我们使用集群,采用的是Master+Slave。集群中有一台主机和多台备机,由主机向外提供服务,备机监听主机状态,一旦主机宕机...

chenkangyao
2018/08/07
52
0
【Zookeeper系列三】ZooKeeper Java API使用

Zookeeper系列 【Zookeeper系列一】Zookeeper应用介绍与安装部署 【Zookeeper系列二】ZooKeeper典型应用场景实践 【Zookeeper系列三】ZooKeeper Java API使用 【Zookeeper系列四】ZooKeeper...

陶邦仁
2015/11/18
3.2K
2
跟我学习dubbo-ZooKeeper注册中心安装

1、建议使用dubbo-2.3.3以上版本的使用zookeeper注册中心客户端 2、Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心。 3、Dubbo未对Zookeeper服务器端做任何侵...

明理萝
2018/08/13
30
1
ZooKeeper分布式架构实战系列(02):Linux Ubuntu 18.04实战安装Zookeeper 3.4.13单节点模式

第2篇文章,我们来Linux实战安装Zookeeper 3.4 单节点模式,可以选择CentOS7或者Ubuntu 16或者18.04。 Zookeeper是开源分布式协调服务,一种集中式服务架构,用于维护分布式系统的配置信息,...

徐雷frank
03/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mysql的sql_mode模式

sql_mode 是一个很容易被忽视的配置,宽松模式下可能会被输入一些非准确数据,所以生产环境下会要求为严格模式,为了保持生产环境和开发环境,测试环境一致性,我们开发环境和测试环境也要配...

贾峰uk
30分钟前
2
0
Qt程序打包发布方法(使用官方提供的windeployqt工具)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/toTheUnknown/article/details/81748179 如果使用到了Qt ...

shzwork
59分钟前
7
0
MainThreadSupport

MainThreadSupport EventBus 3.0 中的代码片段. org.greenrobot.eventbus.MainThreadSupport 定义一个接口,并给出默认实现类. 调用者可以在EventBus的构建者中替换该实现. public interface ...

马湖村第九后羿
今天
3
0
指定要使用的形状来代替文字的显示

控制手机键盘弹出的功能只能在ios上实现,安卓是实现不了的,所以安卓只能使用type类型来控制键盘类型,例如你要弹出数字键盘就使用type="number",如果要弹出电话键盘就使用type="tel",但这...

前端老手
今天
8
0
总结:Raft协议

一、Raft协议是什么? 分布式一致性算法。即解决分布式系统中各个副本数据一致性问题。 二、Raft的日志广播过程 发送日志到所有Followers(Raft中将非Leader节点称为Follower)。 Followers收...

浮躁的码农
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部