【问题标题】:Use-case of non-persistence messages in message queue消息队列中非持久性消息的用例
【发布时间】:2018-09-24 15:59:48
【问题描述】:

我正在阅读消息队列,发现消息可以有两种类型:持久性和非持久性。

持久性消息存储在磁盘/数据库中,以便它们在代理重新启动后仍然存在,而非持久性消息存储在内存中,在代理重新启动后不存在。

持久消息传递通常比非持久传递慢。

但我想不出非持久消息的特定用例。

谁能举一个程序员应该使用非持久消息的例子。

【问题讨论】:

    标签: queue activemq message-queue


    【解决方案1】:

    一般来说,当您丢失一些消息并不重要时。 例如,铁路信号……信号每隔几秒钟发送一次状态。如果一两个迷路了,还有更多的人来。 或者股票价格显示……如果显示有点更新失败,那也没什么大不了的。这里不谈论交易活动——只是在公共区域或其他地方展示。

    【讨论】:

      【解决方案2】:

      除了可能不需要持久性的特定“业务”应用程序之外,非持久性消息可能比持久性消息更受青睐还有另一个重要原因 - 性能。发送和使用非持久消息几乎总是比使用持久消息的相同操作快得多。在处理持久消息时,代理必须与存储设备(例如本地 HDD、本地 SSD、网络附加存储等)进行交互,这通常比 RAM 慢几个数量级(即非持久消息所在的位置)。

      【讨论】:

        猜你喜欢
        • 2023-04-05
        • 1970-01-01
        • 2016-12-30
        • 2011-10-12
        • 1970-01-01
        • 1970-01-01
        • 2014-02-05
        • 1970-01-01
        • 2014-11-01
        相关资源
        最近更新 更多