ZK请求处理

1. 事务请求转发-事务必须由Leader处理

	所有非Leader的服务器收到来自客户端的事务请求,都会将客户端请求已REQUEST形式转发给Leader服务器进行处理

2. 事务处理 Proposal, sync, Commit三个子流程

2.1. Proposal流程 leader发起投票统计

	a). 生成Proposal	zK将请求头、事务体、ZXID、请求本身序列化到Proposal对象(即一个提议)。
	b).	广播提议
	c). 广播接收端通过sync流程记录事务日志并返回ACK
		如果半数获得通过,则进入commit环节
	d). 向Flowwer、Observer广播COMMIT消息

2.2 Sync-各节点记录事务日志

	针对每个时请求,都会通过事务日志的方式将其记录下来,记录完成后,向服务器发送ACK消息表明记录完成。

2.2 Commit流程

	将事务从事务日志应用到内存数据库。

数据和存储


posted @ 2017-09-29 16:47  Desneo  阅读(609)  评论(0编辑  收藏  举报