
Zookeeper
Happywuw
学习如逆水行舟,不近则退!
由于目前公司有很不错的学习平台,以及个人笔记平台,暂停博客更新。但也会定期把笔记批量更新到博客。
展开
-
Zookeeper专题——1、分布式事务(a概述)
zookeeper到底是什么? zookeeper实际上是yahoo开发的,用于分布式中一致性处理的框架。最初其作为研发hadoop时的副产品。由于分布式系统中一致性处理较为困难,其他的分布式系统没有必要 费劲重复造轮子,故随后的分布式系统中大量应用了zookeeper,以至于zookeeper成为了各种分布式系统的基础组件,其地位之重要,可想而知。著名的hadoop,kafka,dubbo 都...原创 2018-05-04 16:43:48 · 2041 阅读 · 1 评论 -
Zookeeper专题——2、分布式锁-基于Zookeeper的分布式锁
实现分布式锁目前有三种流行方案,分别为基于数据库、Redis、Zookeeper的方案,其中前两种方案网络上有很多资料可以参考,本文不做展开。我们来看下使用Zookeeper如何实现分布式锁。什么是Zookeeper?Zookeeper(业界简称zk)是一种提供配置管理、分布式协同以及命名的中心化服务,这些提供的功能都是分布式系统中非常底层且必不可少的基本功能,但是如果自己实现这些功能而且要达到高...原创 2018-05-04 16:45:16 · 333 阅读 · 1 评论 -
Zookeeper专题——3、分布式一致性,几种实现的优缺点
如果是从一致性算法层面讲:个人觉得叫容错分布式一致性协议更合适,当然这里容错俩字很关键,而且暗含是通常所说的复制状态机的强一致性需求(比如线性一致性)。一致性本身是个应用广泛的概念,比如并发编程、数据库事务处理、缓存一致性等等。其他很多算法也可以解决某些场景下(对系统模型的假设条件强弱)、对一致性的不同要求(比如线性、序列、因果、最终等等)。比如:2PC无法容错但能解决强一致性;并发编程中的内存序...原创 2018-05-04 16:46:04 · 1086 阅读 · 0 评论 -
Zookeeper专题——4、选主过程,脑裂问题如何解决
目前有5台服务器,每台服务器均没有数据,它们的编号分别是1,2,3,4,5,按编号依次启动,它们的选择举过程如下:服务器1启动,给自己投票,然后发投票信息,由于其它机器还没有启动所以它收不到反馈信息,服务器1的状态一直属于Looking。 服务器2启动,给自己投票,同时与之前启动的服务器1交换结果,由于服务器2的编号大所以服务器2胜出,但此时投票数没有大于半数,所以两个服务器的状态依然是LO...转载 2018-05-04 16:47:08 · 3877 阅读 · 0 评论 -
Zookeeper专题——1、分布式事务(b处理模式)
可参考知乎相关文章,更通俗易懂2PC这种不一致的问题困扰着大家。任意一边出错想要回滚另一边都不是简单的数据库回滚的事情( 因为此时已经成功提交),而是需要做业务的逆向操作,而不同业务的逆操作都不同,导致复杂性增加。考虑数据库事务的执行实际上是先将执行操作写入binlog,等到最后通过一个commit指令将binlog的内容一次更新到表中,或者写到一半通过一个rollback指令将binlog中的内...转载 2018-05-05 17:06:33 · 514 阅读 · 0 评论