ubuntu - 分布式系统(RPC + Paxos)

标签 ubuntu rpc consensus paxos

我想确保 3 台服务器之间的一致性。
这是一个共识问题。
每个服务器都会监听用户并将收集到的数据保存在本地文件中。
我尝试使用 Rpc 将新数据发送到所有其他服务器但徒劳无功。
另外我想使用算法 paxos 来确保一致性。我只想知道我所做的解决方案是否是优化的解决方案,或者我可以使用 socket 或其他算法而不是像 raft 这样的 paxos。
我希望你能理解我的问题。
提前致谢 :)

最佳答案

首先你应该确定它是什么意思:每个服务器都在监听用户请求。接下来发生什么?这些服务器是立即在本地应用这些请求,还是将它们发送给领导者?
在第一种情况下——每个节点在本地应用更改并将它们发送到其他节点——这是一个多领导者复制。正如您可能猜到的那样,就值达成一致是具有挑战性的,因为两个不同的请求可能会更改不同的相同数据。这里几乎没有选项可以使系统最终保持一致,但这可能不是您想要的。
现在我们达成共识。总的来说,paxos/raft/etc 都是单主复制系统。其中一个节点将被选为领导者,其他每个节点最终将获得相同的事件序列——这将是共识部分。
我建议检查 raft 而不是 paxos - 两者都有很多库,但我发现 raft 更容易使用。

关于ubuntu - 分布式系统(RPC + Paxos),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72118442/

相关文章:

python - 通过 Pandas 计算每一行与共识的差异

ubuntu - 部署后如何强制 PM2 更新我的 meteor 应用程序服务器端?

linux - 使用 sendmail 脚本时获取空文件作为附件

ubuntu - Libvirt 没有列出所有支持的 CPU 特性

replication - RAFT:提交条目的术语条件

blockchain - Polkadot 中的 fork 选择如何运作?

linux - 为什么我已经设置了它,但仍然说没有 GOPATH?

php - XMLRPC - Python 服务器,PHP 客户端。没有一致性?

2台服务器之间的通信(C语言)

java - GWT RPC 机制的序列图