服务之间通信用什么比较好呢? 先简单说一下RPC 和 MQ 是什么 RPC 远程过程调用 简单说明就是 一个进程提供服务 给另一个服务像调用本地方法一样调用. 如何像本地方法一样调用呢 ? rpc 框架会屏蔽底层逻辑 比如消息通信, 数据序列化和反序列化,服务注册发现等逻辑。 网上找的一张图 说明rpc 调用过程 MQ 消息队列 生产者 发送消息到 mq 服务端,服务端保存消息记录 消费者从MQ获取消息 一张图大致看下: MQ和 RPC 虽然都是属于进程间消息通信 MQ 适用的场景 上游不关心调用结果的情况 ,上游关注执行结果 但是执行结果相对比较长 ( 超时未支付场景), 简单来讲 需要即时结果 比如查询数据方法 用RPC,一些不需要立刻知道结果的业务 比如数据送审 适合用 MQ |
|
来自: 芥子c1yw3tb42g > 《谋生之道-自律自由》