【问题标题】:What does MassTransit add to RabbitMQ?MassTransit 为 RabbitMQ 添加了什么?
【发布时间】:2012-09-06 09:16:30
【问题描述】:

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

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

MassTransit 还提供哪些其他好处?

【问题讨论】:

    标签: rabbitmq masstransit


    【解决方案1】:

    MT 在仅使用 RabbitMQ 的基础上添加的东西:

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

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

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

    就这几个,你可以check out the documentation了解更多信息,或者给真正的老.NET Rocks! podcast听听你真正的一些相关内容。

    更新:现在有一个 entire series on YouTube 覆盖 MassTransit。

    【讨论】:

    • 抽象也不错。在客户场所部署时,我们使用云中的 Azure 服务总线和 RabbitMQ,无需任何重大代码更改。
    猜你喜欢
    • 2019-09-26
    • 2023-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 2015-04-07
    • 2018-08-31
    相关资源
    最近更新 更多