【问题标题】:RabbitMQ Pub/Sub setup with large number of disconnected clients...具有大量断开连接的客户端的 RabbitMQ Pub/Sub 设置...
【发布时间】:2016-06-26 22:58:44
【问题描述】:

这对我来说是一个新领域,所以希望我的问题是有意义的。

在我的程序中,我有大量客户端,它们是在笔记本电脑上运行的 Windows 服务——它们经常断开连接。有时他们会上线,我希望他们收到基于用户配置文件的更新。有许多类型的通知需要客户端在本地应用程序(即笔记本电脑)上执行一些工作。

我意识到我可以通过一系列安静的数据库查询来做到这一点,但是由于有这么多客户端(高达 10,000 个)并且有很多不同的通知类型,我很好奇这是否不是一个更好的问题适用于像 RabbitMQ 甚至 0MQ 这样的消息传递产品。

但是如何设置它。 (假设在 RabbitMQ 中?

是否会为每个用户分配自己的队列? 或者最好让每个队列都是不同的通知类型,并且您将使用直接交换或基于路由键过滤消息的某种组合,其中路由键可以是用户名。

由于每个用户可能会根据他们的用户配置文件有一组不同的通知,我认为每个客户/消费者都会有一个特定的消息,用于等待他们上线并处理它的队列中的每个通知。

这是思考问题的正确方式吗?提前致谢。

【问题讨论】:

    标签: rabbitmq messaging publish-subscribe


    【解决方案1】:

    平衡大量队列比过滤长队列更容易,因此最好为每个消费者使用队列。 消息可以有任意的标题和正文,因此它是通知类型的正确位置。 由于您将使用长寿命队列,在磁盘上等待消费者 - 您最好使用惰性队列 @9​​87654321@(从 3.6.0 版本开始提供)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-13
      • 2010-11-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 2021-12-05
      相关资源
      最近更新 更多