我的理解是,JMS 持久订阅允许消费者接收发布到某个主题的所有消息,比如是否存在连接丢失,然后恢复连接。
话虽如此,持久订阅似乎也会导致 JMS 代理的消息缓冲区填满,最终为代理带来开销。
不将持久订阅与 JMS 结合使用还有哪些其他常见的最佳实践?
作为参考,我正在使用 ActiveMQ“经典”。
一些例子
您的消费者上网时对历史数据不感兴趣。想象一下屏幕上显示公交车到达公交车站之前的时间。
您需要在消费者集群中的多个节点之间分配负载。那么你需要使用队列(VirtualTopics)来代替,或者使用ActiveMQ Artemis中的JMS2.0。