【发布时间】:2011-04-07 09:13:59
【问题描述】:
我正在使用 Java 编写 P2P 应用程序。更具体地说,我正在使用 RMI 来实现类似于节点间通信系统的令牌环 为了实现容错系统,我需要检测节点的崩溃。环中的每个节点都必须等待令牌 X 秒。在此时间之后,节点必须唤醒并执行一些操作(例如,它可以拉取令牌)。我可以使用哪种方法来实现每个节点的超时?
提前致谢!!
【问题讨论】:
标签: java timeout rmi p2p token
我正在使用 Java 编写 P2P 应用程序。更具体地说,我正在使用 RMI 来实现类似于节点间通信系统的令牌环 为了实现容错系统,我需要检测节点的崩溃。环中的每个节点都必须等待令牌 X 秒。在此时间之后,节点必须唤醒并执行一些操作(例如,它可以拉取令牌)。我可以使用哪种方法来实现每个节点的超时?
提前致谢!!
【问题讨论】:
标签: java timeout rmi p2p token
这是 P2P 系统中的经典问题。简短的回答是:如果您在选择的延迟后没有从远程对等方得到答案,您必须假设它无法访问(并冒着出错的风险)。
这并不一定意味着远程对等方离线或崩溃,它可能只是意味着有人在深海中切断了电缆并且没有替代方法可以穿越海洋,或者任何替代通道过载并且无法满足您的带宽/连接请求。
最根本的问题是,当您发现远程对等点出现问题时(例如,有人切断了电缆还是对等点真的崩溃了?),无论如何您都无法确定连接发生了什么你努力吧。
【讨论】: