MassTransit RateLimit,一个队列上有多个消费者

问题描述 投票:0回答:1

我正在寻求有关

UseRateLimit(...)
功能如何在以下情况下工作的说明:我们有许多消费者共享同一队列。每个消费者都有自己独特的消息类型,这仅适用于单个服务(即没有竞争消费者/分布式处理)。

enter image description here

我的问题是,这会将整个队列的整体消息消费率限制为每秒10条,还是将每个消费者限制为每秒10条?这里的目标是使用

UseRateLimit(...)
遵守所有列出的消费者都使用的第三方 API 设置的速率限制。

我代表另一位开发者询问,他就其行为方式给出了一些相互矛盾的报告。对于

UseRateLimit(10, TimeSpan.FromSeconds(1))
,我预计整个队列的总消费率将限制为每秒 10 条消息,但想知道我对行为的假设是否不正确。

rabbitmq masstransit
1个回答
0
投票

订单很重要,并且过滤器是在所有消费者之后配置的,因此,它不会被应用。

此外,应该使用

ConfigureConsumer<T>(context)

,而不是
Consumer<T>(context)

© www.soinside.com 2019 - 2024. All rights reserved.