Jos*_*nge 5 masstransit message-queue servicebus rabbitmq messagebroker
我想了解使用消息的最佳做法。我已经阅读过MassTransit文档,并且已经在搜索有关此内容,但我无法得出任何结论。
我有一个发布消息的api(托管总线实例)。这些消息是多种多样的,因为此api不是微服务(用于购买,销售等的消息)。
我该如何组织我的消费者/队列?
关键概念是避免为不同的消息类型共享单个队列。虽然也有例外,但将每种消息类型保留在单独的队列上可以防止当一种消息类型主导队列流量时出现瓶颈。
至于流程,由于 MassTransit 每个总线实例可以有任意数量的接收端点,因此将相关业务功能保留在单个流程中可以极大地帮助代码管理和部署。流程边界对于扩展很有用,例如,添加更多流程/工作人员来处理状态更新与新订单(就消息量而言,前者可能是后者的 10 倍)。
分离的另一个原因是依赖关系,与具有大量绑定或耦合到外部库/SDK 的遗留 ERP 系统进行通信的消费者可能需要一个单独的过程,以避免由于某些旧库的创建方式而导致的内存问题。这些库可能需要更频繁的进程重新启动等,并且将它们分开可以消除随着时间的推移导致问题的消费者重新启动整组消费者的需要。
这些只是一些一般准则,但我们在确定将哪些消费者置于同一流程中时一直使用这些准则。
| 归档时间: |
|
| 查看次数: |
864 次 |
| 最近记录: |