我在 jgroups 程序中使用 TCP 协议(protocol),并将 FD_ALL.timeout 设置为 12000ms FD_ALL.interval=4000ms。 发送代码如
MessageDispatcher.sendMessage(message, new RequestOptions(ResponseMode.GET_ALL, 4000))
RequestHandler 代码如下:
public Object handle(Message message) {
//time consuming code
}
有时处理消息的时间会超过 12000 毫秒。 我的问题是,当发生这种情况时,它会阻止心跳数据包直到超时吗?从而导致 viewAccepted 事件指示该对等点的左侧?
最佳答案
如果您的预期服务时间为 N,根据经验,您的超时应为 2N。
关于java - 耗时的 RPC 会阻塞心跳从而导致 JGroups 超时吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20394342/