公共交通请求/响应与 Restful Web 服务

Flo*_*ian 1 rest web-services masstransit

在面向微服务的架构中,大众交通与静态 Web 服务在微服务之间进行通信的用例是什么。

当然,大众运输(MQ)在使用异步通信时具有巨大的优势。但是,当存在同步请求时,大众交通与静态服务相比有何优势?

我知道它有点宽泛。

Ale*_*rev 5

优点是:

  • 空间耦合更少 - 您将消息发送到消息代理而不知道接收者位于何处
  • 更轻松的负载平衡 - 除了消息代理之外,您不需要任何额外的基础设施来运行竞争的消费者,拉模型比推模型更诚实
  • 针对数据库锁等暂时性故障的内置重试(当然,像 Polly 这样的东西也可以通过 HTTP 提供帮助)
  • 将故障保留在有害消息队列中以供进一步分析

这是我立即想到的事情。

从性能角度来看,使用消息的开销是微乎其微的,但当然,对于较大的容量,它可能会产生显着的负面影响。

一般来说,服务之间的同步通信,无论传输是什么,都是应该避免的,因为它扼杀了微服务自治的想法。