服务之间通信用什么比较好呢?
先简单说一下RPC 和 MQ 是什么
RPC 远程过程调用
简单说明就是 一个进程提供服务 给另一个服务像调用本地方法一样调用.
如何像本地方法一样调用呢 ?
rpc 框架会屏蔽底层逻辑 比如消息通信, 数据序列化和反序列化,服务注册发现等逻辑。
网上找的一张图 说明rpc 调用过程

MQ 消息队列
生产者 发送消息到 mq 服务端,服务端保存消息记录 消费者从MQ获取消息
一张图大致看下:

MQ和 RPC 虽然都是属于进程间消息通信
MQ 适用的场景 上游不关心调用结果的情况 ,上游关注执行结果 但是执行结果相对比较长 ( 超时未支付场景),
简单来讲
需要即时结果 比如查询数据方法 用RPC,一些不需要立刻知道结果的业务 比如数据送审 适合用 MQ
本文探讨了RPC(远程过程调用)和MQ(消息队列)在服务间通信中的应用场景。RPC提供了即时响应,适用于需要快速返回结果的查询操作,而MQ则适用于异步处理和不依赖即时反馈的场景,如超时任务。理解两者之间的差异对于微服务架构的设计至关重要。
1230

被折叠的 条评论
为什么被折叠?



