我想知道使用信息的最佳实践。我读过MassTransit文档,并对此进行了搜索,但我没有得出任何结论。
我有一个api (承载一个总线实例),它发布消息。这些消息是不同的,因为这个api不是一个微服务(用于购买、销售等的消息)。
如何组织我的消费者/队列?
发布于 2017-10-22 13:29:07
关键的概念是避免为不同的消息类型共享单个队列。虽然有例外情况,但是将每个消息类型保持在单独的队列中可以防止当一种消息类型主导队列通信时的瓶颈。
至于流程,由于MassTransit可以在每个总线实例中拥有任意数量的接收端点,因此将相关业务功能保持在单个流程中可以大大有助于代码管理和部署。流程边界对于扩展非常有用,例如,添加更多的流程/工作人员来处理状态更新而不是新订单(就消息量而言,前者可能是后者的10倍)。
分离的另一个原因是依赖关系,它与具有大量绑定或耦合到外部库/SDKs的遗留ERP系统通信,可能需要单独处理,以避免某些旧库的创建方式导致内存问题。这些库可能需要更频繁的流程重新启动等,并且保持它们之间的分离,从而消除了重新启动一组使用者的需要,因为它会随着时间的推移导致问题。
这些只是一些一般性的指导方针,但我们在确定哪些消费者应该在相同的过程中使用这些准则时,我们一直在使用这些准则。
https://stackoverflow.com/questions/46846675
复制相似问题