C#分布式项目中是否使用MassTransit

参考

  1. https://www.cnblogs.com/sheng-jie/p/MassTransit-NET-Distributed-Application-Framework.html
  2. https://www.sundstrom.dev/articles/building-distributed-apps-with-masstransit
  3. https://code-maze.com/masstransit-rabbitmq-aspnetcore/
  4. https://www.gyata.ai/asp-net/masstransit

分布式系统常见的架构是微服务和SOA, 在实践层面微服务引入了服务发现和服务注册, SOA架构主要依赖服务总线, MassTransit可以归为SOA一类,

MassTransit 功能

  • 支持消息的 pub/sub 消息处理模式, 彻底解耦了消息生产者和消费者. 而且是异步消息处理, 消息消费端不会影响pub端的执行效率.
  • 支持RPC调用, 即使用 request/response 模式, 和Http/GRPC相比, 我不认为有什么明显的优势, 同时没有Http/GRPC开放性的优势.
  • 内置重试、限流、断路器等异常处理机制
  • 支持 Open Telemetry 可观察性
  • 支持多种后台, 包括 RabbitMQ/Azure ServiceBus/Amazon SQS/Kafka/PGSQL/MSSQL等

理解

使用MassTransit的突出优势就是它支持异步的 pub/sub 消息处理模式, 解耦生产者和消费者, 如果项目中没有这样的场景, 使用它就没有优势, 直接Http/GRPC集成就可以了. 如果项目是那种消息驱动的类型, 比如 MES 项目, 优势就非常突出了, 它很好的封装了底层的消息中间件, 开发效率会大大提升的.

posted @   harrychinese  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示