Mq vs rpc

同步调用:对于要立即等待返回处理结果的场景,RPC是首选。
RPC相比与MQ,不仅是实现了消息层面的通信,还直接实现了作为服务端的业务逻辑,客户端在调用多个RPC服务的时候,负载均衡逻辑必须在客户端实现,即,没有解耦的功能!

MQ 适用场景

  • 业务解耦
  • 消息的发送和处理是异步的
  • 广播
  • 最终一致性
  • 错峰流控等

RPC 适用场景

  • 客户端调用哪个服务器比较明确
  • 调用需要立即得到返回结果
  • 架构简单

一次RPC调用的流程:
20190813_184052.png