[英]How to implement 2pc in Zookeeper cluster?
我有一个关于在Zookeeper群集中实施两阶段提交协议以协调多个客户端连接之间的某些事务的问题。 现在,我有以下想法:
C
注册事务节点/app/tx
/app/tx/%d (Ni)
Ni
上设置观察者 Ni
有关新交易的tx
Ni
检查其节点是否已创建 Ni
将交易设置为prepare()/ abort() C
收到各方的结果,并决定中止/继续 Ni
执行查询 N
我以“确定/失败”通知C
C
决定中止|提交 C
通知所有人有关结果。 tx
但是我不确定这是正确的方向吗? 我不确定如何在python kazoo或任何其他语言(Java)中实现此功能? 如果您可以通过提供摘要或纠正我的算法来为我提供帮助,那将是很好的选择? 另外,如何扩展此协议以实现动物之间的通信? 说,我们维护多个不同的Zookeeper集群,这些集群被包装到区域或任何其他抽象实体中,并且我们希望使用两阶段commit?在特定区域上执行此类显式事务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.