• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

zookeeper研究

互联网 diligentman 2个月前 (03-02) 17次浏览

什么是分布式?

多个服务分别部署在不同机器的不同进程中

zookeeper研究

zookeeper概述

zookeeper是一个开源的分布式协调服务,提供分布式数据一致性解决方案

zookeeper 可以做分布式锁,这个基本都知道的,类似于redission ,可以做分布式锁

这里只是讲zookeeper 

zookeeper 有临时节点的概念,对于临时节点,若有,就不创建,没有就创建。

类似于redis 的setnx   有则不变,无则创建。

https://my.oschina.net/architectliuyuanyuan/blog/3082860  zookeeper集群搭建可以参考我这篇博客 

zookeeper提供了分布式数据一致性解决方案

 一致性是什么?

如下模拟我部署一个服务,两台数据库

zookeeper研究

在上图中我在db1中修改balance=900,如果我下一次read请求到db2数据,此时db1的数据还没及时更新到db2中,就会造成整个数据库集群数据不一致。

数据一致性分为强一致性和最终一致性,强一致性指的如果数据不一致,就不对外提供数据服务,保证用户读取的数据始终是一致的。数据强一致性只需要通过锁机制即可解决,在上图中通过在db2没有从db1同步数据之前上锁,不对外提供读操作。只有当同步完成以后才对外提供服务。而最终一致性要求数据最终同步即可,没有实时性要求。

https://my.oschina.net/architectliuyuanyuan/blog/3190734  这篇博客CAP原则

一致性协议

2pc   3pc

 

展开阅读全文

db2zookeeperredis

© 著作权归作者所有

举报

打赏

0


0 收藏

微信
QQ
微博

分享

作者的其它热门文章

Java数据结构和算法(六)——前缀、中缀、后缀表达式
mysql主从复制原理
miniui的单选框
Mybatis中的jdbcType的作用


程序员灯塔
转载请注明原文链接:zookeeper研究
喜欢 (0)