0

基本上我想创建一个客户端可以偶尔订阅的数据缓冲区,从最后一段时间获取所有数据,继续监听实时数据,然后在一段时间后取消订阅,然后重复。

我正在考虑使用过期的 TTL rabbitmq 队列。这个想法是让客户偶尔订阅和取消订阅它。当客户端订阅队列时,它应该获取队列上所有可用的消息。然后客户端将保持在频道上以将实时数据推送给他们。

这是解决这个问题的好方法吗?我知道如何在rabbitmq 上发布/订阅。我该如何制作,以便每次客户端订阅时都会将所有数据推送到队列中?

4

1 回答 1

0

这取决于您在谈论多少数据。您的方法的缺点是,如果数据速率很高并且 TTL 设置很长时间,队列可能会填满大量数据。您还必须保持队列处于活动状态。并且您必须从一开始就为每个可能的订阅者设置一个队列。

我建议最近的历史交换也许修改它,以便它包含更多的消息。

于 2013-03-21T07:12:30.570 回答