使用来自 RabbitMQ 的大量(流式)消息

Consume high volume (streaming) message from RabbitMQ

我正在构建一个应用程序来使用来自 RabbitMQ 的大量(流式)消息。 以下是情况

  1. 发布者正在使用 RabbitMQ 发布实时比赛数据,这意味着数据量非常快(每个队列每秒 100 条消息)
  2. 在 RabbitMQ 中,最大队列长度为 500(消息)。
  3. 这意味着如果消费者没有很快收到消息,消息就会丢失

以下是我的查询

什么pattern/architecture/tool最适合上述场景?(消费消息非常快)

MassTransit 会满足上述要求吗?

MassTransit 本身消耗非常快。每秒 1,000 条消息很容易实现。但是 MassTransit 所花费的时间只是整体消息消费时间的一部分。消费者中的业务逻辑是花费大部分时间的地方。毫无疑问,MassTransit 可以足够快地消费,这只是取决于消费者需要做什么。

每秒 100 条消息是每条消息 10 毫秒,同时使用消息(MassTransit 很容易做到)可以增加使用每条消息的可用时间。