当前位置: 首页 > 网络应用技术

Springboot+RabbitMQ实现RPC调用

时间:2023-03-07 14:59:55 网络应用技术

  说到RPC(远程过程调用协议远程流程调用协议),据估计,朋友心目中的估计值为RESTFUL API,DUBBO,WEST服务,Java RMI,Corba等。

  实际上,RabbitMQ还为我们提供了RPC功能,并且使用易于使用。

  今天,我将与您分享如何使用Spring Boot+RabbitMQ实现简单的RPC调用。

  注意

  关于实施RPC电话的RabbitMQ,一些朋友可能会有一些误解。想想这不容易吗?他妈的两个消息队列queue_1和queue_2。首先,客户端将消息发送到Queue_1,服务器主管在Queue_1上聆听消息并在接收处理后接收到消息;在队列上的新闻,因此我知道服务器的处理结果。

  这种方法并非不可能,这有点麻烦!RabbitMQ提供了可以直接使用的Ready -Made Solutions,这非常方便。

  让我们看一个简单的建筑图表:

  这张照片非常清楚地告诉这个问题:

  这种情况实际上非常适合处理异步调用。

  接下来,让我们看一下如何播放特定示例。

  首先,让我们创建一个名为“生产商”的春季启动项目。作为消息生产者,创建时添加Web和RabbitMQ依赖项,如下所示::

  成功创建项目后,首先在应用程序中配置RabbitMQ的基本信息。Properties,如下:如下:

  这种配置在四行的前面是充分理解的,我不会详细介绍。后两行:首先,是配置消息的确认方法。我们通过相关性确认。只有在打开此配置时,未来的消息才会带来correlation_id.in。

  接下来,我们提供一个配置类,如下:

  在此配置类中,我们配置了发送队列sgqueue和消息的消息以返回队列回复标语,然后绑定这两个队列和消息开关。这是RabbitMQ的常规操作,无话可说。

  在Spring Boot中,我们负责该消息的工具是Rabbittemplate。默认情况下,系统会自动提供该工具,但是在这里我们需要重新定制该工具,主要是在返回队列中添加消息。最后,我们需要返回返回队列设置为监视器。

  好吧,接下来我们可以启动特定消息发送:

  该文章的代码实际上是一些常规的代码。我会选择一些关键节点,然后说:

  这是整个客户的发展。实际上,最核心是sendAndReceive方法的呼叫。尽管调用很简单,但准备就足够了。例如,如果我们在应用程序中不配置相关性。返回的消息内容不能与发送消息内容关联。

  让我们看一下服务器的开发。

  首先,创建一个名为“消费者”的春季启动项目。项目创建的依赖性与客户开发和创建的依赖性一致,并且不会重复。

  然后配置application.properties配置文件,该文件与客户端中的配置相同,不会重复描述。

  接下来,提供兔子的配置类。此配置类相对简单。简单的配置消息队列和绑定消息开关如下:

  最后,让我们看一下消息的消费:

  这里的逻辑相对简单:

  发送服务器后,客户端将收到返回服务器的结果。

  好的,伟大的成就。

  接下来,让我们进行一个简单的测试。

  首先启动兔子。

  接下来,启动生产者和消费者,然后在Postman中致电生产者界面进行测试,如下所示::

  可以看出,已经收到了服务器的返回信息。

  让我们看一下生产者的操作日志:

  可以看出,发送消息后,还收到了消费者返回的信息。

  可以看出,消费者还收到了客户的新闻。

  好吧,一个小案例,请一个小型合作伙伴体验兔子,以实现RPC电话。

  背景中的公共帐户江南雨回复mq_rpc以获取本文的案例?有兴趣的朋友可以尝试?