44

与直接在RabbitMQ之上构建相比,在MassTransit之上构建有什么好处?

我相信 MassTransit 提供的一个好处是“类型”交换(按接口/类型发布订阅),因此与消息内容是非结构化文本/blob 的普通 RabbitMQ 交换相比,消息的内容是结构化的。

MassTransit 还提供哪些其他好处?

4

1 回答 1

67

MT 在仅使用 RabbitMQ 之上添加的内容:

  • 多线程并发消费者
  • 消息序列化,包括接口和版本控制
  • 自动交换绑定,发布约定
  • Sagas,包括通过 NHibernate 的持久状态
  • 服务的性能计数器
  • 消息头
  • 故障处理

这些只是少数,有些比其他更重要。总线托管您的消费者、处理程序、sagas 并管理所有线程这一事实可能是最大的优势,并且您可以在同一进程中托管多个总线这一事实。

序列化是下一个最大的好处,因为这可能很难弄清楚,并且获得一个基于接口的消息契约,并自动反序列化为类型(包括动态支持的接口类型)是巨大的。发布实现多个接口的单个​​类,并看到所有感兴趣的消费者异步获取他们的消息,这在生产中非常棒,因为可以将新接口添加到生产者并且下层消费者不受影响。

这些只是一些,您可以查看文档以获取更多信息,或者提供真正古老的.NET Rocks!播客听听你的一些相关内容。

更新:现在YouTube 上有一个完整的系列报道 MassTransit。

于 2012-09-06T21:14:32.243 回答