我正在和我的一个朋友一起做一个系统来实现一个可靠的多播库。我们正在处理属于一个组的许多进程;任何进程都可以加入或离开组。如果一个人发送消息,则由所有其他人发送。
我们希望处理发件人的崩溃,以便在发生这种情况时,所有或没有收件人传递消息。
你能建议一个好的策略(算法)来处理关于全部或全部的部分吗?
我正在和我的一个朋友一起做一个系统来实现一个可靠的多播库。我们正在处理属于一个组的许多进程;任何进程都可以加入或离开组。如果一个人发送消息,则由所有其他人发送。
我们希望处理发件人的崩溃,以便在发生这种情况时,所有或没有收件人传递消息。
你能建议一个好的策略(算法)来处理关于全部或全部的部分吗?
这不是一件小事,有许多微妙的问题需要考虑。即,您如何精确定义“所有收件人”。如需完整深入的回复,包括理论和 Java 代码,我推荐Cachin、Guerraoui 和 Rodrigues 的《可靠和安全分布式编程简介》 。您应该在第 3 章中找到可靠广播(“all or none”)的解决方案。另请参阅第 5 章和第 6 章,了解如何处理加入和离开组的进程。