最近一直在看倪超的那本《从paxos到Zookeeper分布式一致性原理与实践》,整本书干货满满。个人感觉在章节顺序编排上有些小问题,不过,不影响它作为介绍这款中间件产品特性及原理而全面阐述的开山之作。总之,内容很多,我也只是了解了皮毛。接下来写的种种,算是我喝了这碗鸡汤,消化来剩下的。
分布式系统定义:
是一个在硬件和软件组件分布在不同在网络计算机之间,彼此只是通过消息传递进行通信和协调的的系统。
分布式系统特性:
A 机器多点分布
B 对等性,分布式系统没有主从之分,所有的机器都是对等的。Replica(副本)是分布式系统的常见概念,主要包括数据与服务的冗余,具体是指在不同的节点上持久化同一份数据
C 并发性,一个分布式系统中,可能会并发的操作并访问一些共享的资源,储如数据库和分布式存储。
D 全局时钟
E 故障总会发生
事务隔离级别:
A 读未提交
B 读已提交
C 可重复读
D 串行
例子来说明:
隔离级别对比:
总结:事务隔离级别越高,性能越差。推荐读已提交,然后通过程序利用乐观锁或者悲观锁来做。
分布式事务理论:
CAP:
理论应用:
BASE:基本可用,弱状态,最终一致性
一致性理论:
ZAB,还没有完全理解,后续添加
Zookeeper的应用场景:
A 数据发布与订阅,比如相关配置伯集中化管理
B 负载均衡,动态DNS的运用
C 命名服务,具体就是全局唯一标识的生成
D 分布式协调、通知
E 集群管理,如日志收集
F Master选举
G 分布式锁
H 分布式队列
Zookeeper客户端:Curator,顶级apache项目, zookeeper的核心提交者对它的评价“guava is to Java what Curator is to ZooKeeper!”。下一篇带来通过Curator操作Zookeeper的例子。
网友评论