内部原理
本章讲述了ZK服务端的内部原理,包含其使用的协议以及如何高性能的进行容错。
leader和followers
- ZK集群中中会有唯一的一个leader,其它的称为followers。
- leader是数据变更的核心点。
observer
leader和follwers保证了数据更新的一致性,除了crash。因此会有低三种类型的服务,称为observer。 observer不参与任何数据变更的决定过程,它仅仅应用这些变更,observer用于保证扩展性。
本地读
所有读操作如exists,getData,getChilder都在本地完成,因此十分快。
状态变更操作
create,delete,setData
则被委托给leader处理,leader通过一个叫事务的过程来处理,它包含数据变更和版本号变更两个方面,
一个事务是个原子操作,和数据库的事务不同,ZK的事务没有回滚。ZK通过保证事务之间不相互影响来避免回滚操作,
之前通过单线程处理保证,目前已经有了多线程的处理机制。事务会有一个事务ID称为ZXID,ZXID是个64位的数据,包含时间+技术两部分。
FEATURED TAGS
CSS
JAVA
JQuery
JQGrid
Linux
Java并发编程实战
开发工具
JAVA设计模式
ZooKeeper专题
Nginx
Hive
SparkSQL
MyBatis
Scala
博客专栏
消息中间件
Kafka
Spring相关
Hadoop
Flume
实践记录
KVM
PostgreSQL
Oracle
Thinking-In-Java
JAVA杂记
MySQL
SQL
Effective-Java
Shell
Sqoop
Spark
MongoDB
SpringBoot
RequireJS
HBase
Node.js
Vue.js
JVM调优
Greenplum
Spark-Streaming
机器学习基础
读书笔记
Docker
Spark-ML
Maven
高数知识整理
技术知识汇总
FastDFS
Redis
软考中级