.net - 用于 Azure 服务总线的 MassTransit 批量接收消息以避免限制
问题描述
MassTransit 中是否有一种方法可以让我们在一次通话中接收多条消息?我MassTransit.Azure.ServiceBus.Core 6.0.2
在 Windows 服务中使用。
Azure 服务总线的限制为每秒 1000 个信用额度: https ://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-throttling
我们的场景是一个有 200 个订阅的主题。由于该限制,吞吐量仅为每秒 2 条消息,这非常低。Azure 会限制任何额外的调用。
如果 MassTransit 可以在 1 个呼叫中检索 100 条消息以避免限制,那就太好了。
解决方案
MassTransit 不会通过调用 Azure 来接收消息,使用 AMQP 配置消费者并从代理推送。这是开箱即用的默认行为。如果您将协议更改为其他协议,例如 WebSocket,这可能会改变消息在后台传递的方式,但我不知道这将如何影响 Azure 服务总线中的服务计量。
MassTransit 在这一点上所做的任何事情都不会改变消息信用的使用方式。您可能会查看 Azure 如何使用 200 个订阅主题管理定价(这对我来说似乎太过分了)。
推荐阅读
- reactjs - TypeError:尝试创建parargaph时无法读取null的属性'appendChild'
- mysql - 在 MySQL 中使用存储过程创建明年的日历表
- android - 在Android的ViewPager中自动双向滑动?
- java - 如何将 ISO 8601 持续时间转换为秒
- python - 正则表达式匹配 - Python - 任意数量的字符
- html - 输入 type=date 然后 datepicker 图标没有出现在 Firefox 上
- bash - 在我的自动化脚本中有相对路径
- ios - 释放 Eureka Slider 时如何做一个动作?
- apache-spark - 加入 Spark Dataframe 时出现意外的失败断言错误 - 发现重复的重写属性
- python - 这是某种自动完成功能吗?如果是这样,我该如何利用它?