如何解决MassTransit-在路由清单上优先处理RabbitMQ消息
RabbitMQ支持消息优先级:https://www.rabbitmq.com/priority.html
MassTransit允许用户在配置端点以及发送/发布消息时进行设置。
问题:在MassTransit中使用路由清单时,是否可以设置消息优先级?
我的问题:我们有一个屏幕,可以安排项目或立即处理它们。如果已计划,则可以分批处理项目。如果同时处理数百个项目,则在屏幕上保存一条记录可能要花几分钟,因为该消息将到达队列的末尾,这可能会导致不良的用户体验。
因此,如果无法设置优先级,那么这里还有什么选择呢?
谢谢!
解决方法
您最简单的选择?设置活动服务,以便它们承载两个端点,一个端点用于执行(任何内容,包括批处理),另一个端点用于执行交互式,在交互式请求时使用。构建路由清单时,使用适当的队列执行活动,然后就可以开始运行了。批处理不会干扰,因为它位于一组单独的端点上。
您的其他选择要困难得多,并且涉及创建发送中间件,该中间件查找RoutingSlip并检查一些值并设置优先级。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。