服务之间通信 用 RPC 还是 MQ

本文探讨了RPC(远程过程调用)和MQ(消息队列)在服务间通信中的应用场景。RPC提供了即时响应,适用于需要快速返回结果的查询操作,而MQ则适用于异步处理和不依赖即时反馈的场景,如超时任务。理解两者之间的差异对于微服务架构的设计至关重要。

服务之间通信用什么比较好呢?

先简单说一下RPC 和 MQ 是什么

RPC  远程过程调用  

简单说明就是 一个进程提供服务 给另一个服务像调用本地方法一样调用.   

如何像本地方法一样调用呢  ? 

rpc 框架会屏蔽底层逻辑 比如消息通信, 数据序列化和反序列化,服务注册发现等逻辑。

网上找的一张图 说明rpc 调用过程

MQ 消息队列

生产者 发送消息到 mq 服务端,服务端保存消息记录 消费者从MQ获取消息

一张图大致看下:

MQ和 RPC 虽然都是属于进程间消息通信

MQ 适用的场景  上游不关心调用结果的情况  ,上游关注执行结果 但是执行结果相对比较长 ( 超时未支付场景),

简单来讲 

需要即时结果 比如查询数据方法 用RPC,一些不需要立刻知道结果的业务 比如数据送审  适合用 MQ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值