【问题标题】:Is it possible to increase keep alive check timing in topic subscriber?是否可以增加主题订阅者的保持活动检查时间?
【发布时间】:2017-01-06 03:42:58
【问题描述】:

我是主题和订阅者方法的新手,并尝试探索主题订阅者方法以在主题上发布消息并在客户端订阅发布的消息。

当我研究这种方法时,我在一些文章中读到生产者和订阅者之间的连接在生产者或订阅者出现故障之前不会终止。所以我尝试使用 Wireshark 检查连接状态,以了解 有多少数据包正在传输以及 数据包传输的频率在生产者和订阅者我得到了以下结果。

据我所知,谁能解释一下网络上发生了什么?数据包是否正在传输以保持连接有效?如果是这样,那么数据包每 10 秒传输一次,是否有任何可能增加时间从 10 秒到 30 秒

为什么要求一个客户端保持连接,每 10 秒大约 190 字节。如果我使用 3500 左右的多个客户端,那么我认为这可能会导致网络问题。

我正在使用 Java 6 和 ActiveMQ 来探索这一点。

提前致谢。

【问题讨论】:

    标签: java tcp activemq wireshark jms-topic


    【解决方案1】:

    您可以在代理和客户端传输上使用maxInactivityDuration 设置,以将超时时间增加到在您感觉舒适的时间发送 ping 的点。要记住的是,如果套接字未以发送 fin 数据包的方式关闭,则不活动持续时间越长,代理注意到客户端连接已断开的时间就越长。

    如果网络上有其他消息流量,客户端和代理不会相互发送保持活动帧,只有在连接空闲时。

    【讨论】:

    • 我不想让代理和客户端连接超时。我需要保持代理和客户端之间的连接处于活动状态,直到代理或客户端出现故障。在这种情况下,有任何可能使检查保持连接的延迟。而且我还需要知道每 10 秒传输的数据包是为了检查我附加的上图中的连接是否有效?
    • 我在客户端确认 maxInactivityDuration 属性的另一件事是在上述时间段后使连接超时,对吗?
    • 无法真正解析您要问的是什么,但如果源是开放的,请随意潜入并玩。
    • 抱歉回复晚了,谢谢@Tim Bish 最后我将maxInactivityDuration设置为0,问题已经解决。
    猜你喜欢
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 2017-11-26
    • 2018-02-18
    • 2021-03-16
    • 1970-01-01
    相关资源
    最近更新 更多