用Zookeeper实现数据库去中心化以及读写分离设计

 

 

 




A为master数据库,B1、B2为A的slave,C1、C2为B1的slave(B1自然也为C1、C2的master),D1、D2为B2的slave(B2自然也为D1、D2的master),ZK1-ZK5构成去中心化的服务器状态管理集群。

正常情况下A负责数据的写请求(增,删,改),数据的读请求轮询分发到B,C,D服务器上。
当A宕机时就选择B组中的一台(比如B1)做为Master来负责数据的写请求(增,删,改),也就是将数据库的写请求发到B1,数据的读请求轮询分发到C1,C2服务机器上。硬件故障以后就要及时维修服务器,并且要以B1作为Master按照上面的结构来布局。

代码可参考Nut(lucene + hadoop 分布式搜索运行框架)中Zookeeper服务器状态管理的实现。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值