phxpaxos icon indicating copy to clipboard operation
phxpaxos copied to clipboard

跨区机房容灾时不可用!

Open zhengsunf opened this issue 5 years ago • 1 comments

容灾有个很基本的要求,是副本不能都在一个机房。phxpaxos是严格串行,且不支持pipeline,我们部署三台机器,两台同IDC不同机架,一台不同IDC,只要同IDC的备机挂了,延时飙升,几乎不可用。这有可能进行改进吗?难道微信的备份都是在同一个IDC的??

zhengsunf avatar Mar 05 '19 08:03 zhengsunf

pipeline和batching都是解决节点之间高延时下的吞吐问题。 这里要看不同IDC之间的延时如何,在同城多IDC下,batching几乎可以达到高吞吐要求。 至于你的情况可能是异地多IDC, 由于phxpaxos不支持pipeline,唯一可以调整的就是batching参数(通过node.h的SetBatchCount和SetBatchDelayTimeMs),通过期望吞吐与节点间延时的关系,来调整。

增加pipeline后代码可理解性,维护成本都会大幅提高,这也算是一个权衡。

lynncui00 avatar Mar 07 '19 10:03 lynncui00