rabbitMQ学习笔记(六)——RPC

介绍


RPC是服务远程调用的一种,另一种是基于Restful的服务调用,常见的有Ribbon,OpenFeign。这两种是分布式微服务中微服务常用的通信手段。RPC的原理如下图所示:
rabbitMQ学习笔记(六)——RPC
区别于之前小节有明确的生产者和消费者,RPC的两端既充当生产者又充当消费者,那么我们应该用其他的方式来区别这两端。发起服务调用的一方称为客户端Client,而被调用的一方称为服务端Server。
整套流程描述如下:
step1:客户端先作为生产者,发起服务调用,发送消息给作为消费者的服务端。
step2:服务端接收到客户端发来的消息,并响应其请求,此时服务端角色转换成消息生产者将响应结果发送给客户端。
step3:客户端接收到服务端发来的消息。

因此,客户端和服务端既要发送消息,又要监听队列。


实现


实现不多说,其实就是两个路由模式(direct)的消息队列。上图省略了交换机,虽然只有一列队列。但还是也会有交换机的。