Java秒杀系统实战系列~整合RabbitMQ实现消息异步发送

职场故事 阅读(813)
?

总结:

这篇博文是“Java尖峰系统战斗篇”系列中的第八篇。在本文中,我们将集成消息中间件RabbitMQ,包括添加依赖项,添加配置信息以及自定义注入相关的操作组件,例如RabbitTemplate。最后,将实现消息的初始发送和接收,并在下一章中,它将与邮件服务集成,以实现“用户峰值成功发送电子邮件通知消息”的功能!

含量:

对于消息中间件RabbitMQ,我认为你之前没有使用它,但你应该听过它。它是市场上广泛使用的消息中间件,可以实现消息的异步通信,服务服务模块的解耦和接口限流。消息分配等功能,在微服务中,分布式系统架构可以说是一个了不起的作用! (详细介绍,Debug这里不再赘述,您可以访问官方网站查看更多介绍及其典型应用场景)!

在这篇博文中,我们将使用RabbitMQ作为消息发送的组件,并将其与下一章介绍的“邮件服务”结合起来,实现“在用户激活成功后异步发送电子邮件通知消息,告诉用户穗成功了!“我们一起输入代码吧。

(1)要使用RabbitMQ,必须在本地开发环境或服务器中安装RabbitMQ服务。如下图所示,Debug在本地成功安装RabbitMQ服务后访问后端控制台应用程序的主页:

图像

然后我们开始将它与SpringBoot集成。首先,您需要添加其依赖项,版本号与SpringBoot版本相同,版本号为1.5.7.RELEASE:

然后,您需要将RabbitMQ服务相关配置添加到配置文件application.properties中,例如服务所在的主机,端口Port等:

(2)接下来,我们使用SpringBoot的自然特性自动注入RabbitMQ的一些组件的配置,包括其“单实例消费者”配置,“多实例消费者”配置和用于发送消息的操作组件实例。 RabbitTemplate的配置“:

在RabbitMQ消息发送组件RabbitTemplate的配置中,我们还专门添加了“消息发送确认”和“消息丢失回调”的输出配置,即当消息正确进入队列时,表示消息发送成功;当未找到消息时当相应的队列(在某些情况下,实际上,未找到交换机和路由)时,输出消息将丢失。

(3)完成后,我们准备开始使用RabbitMQ发送和接收消息。首先,我们需要在RabbitmqConfig配置类中创建Bean组件,如队列,交换机,路由和绑定,如下所示:

其中,环境变量实例env读取的那些属性在application.properties文件中配置如下:

接下来,我们需要编写一个在通用消息服务类RabbitSenderService中发送消息的方法,该方法用于接收“订单号”参数,然后在数据库中查询其对应的详细订单记录,并将记录用作信息。并发送到RabbitMQ队列,等待监控消耗:

(4)最后,在通用消息接收服务类RabbitReceiverService中接收消息。完整的源代码如下:

至此,SpringBoot集成了消息中间件RabbitMQ代码实战,本文将在这里介绍。

最后,我们需要在用户在接口上启动“购买”请求操作后测试,如果加标成功,RabbitMQ将发送和接收如下消息:

图像

那么,关于RabbitMQ的使用,这篇文章暂时已经结束了。在下一篇文章中,我们将它与邮件服务集成,以实现“在用户激活成功后异步发送电子邮件通知消息到用户邮箱”的功能。另外,我们将在下一章中介绍“如何使用RabbitMQ的死信队列来处理用户成功订购后尚未付款的订单我们将采取无效措施。”

补充说明:

由于相应的博客更新可能不是很快,如果您想快速入门并练习整个系统,您可以阅读:Java Mall秒杀系统设计和实际视频教程(SpringBoot版本)

96

小红牛

2019.08.05 16: 26

字数1241

总结:

这篇博文是“Java尖峰系统战斗篇”系列中的第八篇。在本文中,我们将集成消息中间件RabbitMQ,包括添加依赖项,添加配置信息以及自定义注入相关的操作组件,例如RabbitTemplate。最后,将实现消息的初始发送和接收,并在下一章中,它将与邮件服务集成,以实现“用户峰值成功发送电子邮件通知消息”的功能!

含量:

对于消息中间件RabbitMQ,我认为你之前没有使用它,但你应该听过它。它是市场上广泛使用的消息中间件,可以实现消息的异步通信,服务服务模块的解耦和接口限流。消息分配等功能,在微服务中,分布式系统架构可以说是一个了不起的作用! (详细介绍,Debug这里不再赘述,您可以访问官方网站查看更多介绍及其典型应用场景)!

在这篇博文中,我们将使用RabbitMQ作为消息发送的组件,并将其与下一章介绍的“邮件服务”结合起来,实现“在用户激活成功后异步发送电子邮件通知消息,告诉用户穗成功了!“我们一起输入代码吧。

(1)要使用RabbitMQ,必须在本地开发环境或服务器中安装RabbitMQ服务。如下图所示,Debug在本地成功安装RabbitMQ服务后访问后端控制台应用程序的主页:

图像

然后我们开始将它与SpringBoot集成。首先,您需要添加其依赖项,版本号与SpringBoot版本相同,版本号为1.5.7.RELEASE:

然后,您需要将RabbitMQ服务相关配置添加到配置文件application.properties中,例如服务所在的主机,端口Port等:

(2)接下来,我们使用SpringBoot的自然特性自动注入RabbitMQ的一些组件的配置,包括其“单实例消费者”配置,“多实例消费者”配置和用于发送消息的操作组件实例。 RabbitTemplate的配置“:

在RabbitMQ消息发送组件RabbitTemplate的配置中,我们还专门添加了“消息发送确认”和“消息丢失回调”的输出配置,即当消息正确进入队列时,表示消息发送成功;当未找到消息时当相应的队列(在某些情况下,实际上,未找到交换机和路由)时,输出消息将丢失。

(3)完成后,我们准备开始使用RabbitMQ发送和接收消息。首先,我们需要在RabbitmqConfig配置类中创建Bean组件,如队列,交换机,路由和绑定,如下所示:

其中,环境变量实例env读取的那些属性在application.properties文件中配置如下:

接下来,我们需要编写一个在通用消息服务类RabbitSenderService中发送消息的方法,该方法用于接收“订单号”参数,然后在数据库中查询其对应的详细订单记录,并将记录用作信息。并发送到RabbitMQ队列,等待监控消耗:

(4)最后,在通用消息接收服务类RabbitReceiverService中接收消息。完整的源代码如下:

至此,SpringBoot集成了消息中间件RabbitMQ代码实战,本文将在这里介绍。

最后,我们需要在用户在接口上启动“购买”请求操作后测试,如果加标成功,RabbitMQ将发送和接收如下消息:

图像

那么,关于RabbitMQ的使用,这篇文章暂时已经结束了。在下一篇文章中,我们将它与邮件服务集成,以实现“在用户激活成功后异步发送电子邮件通知消息到用户邮箱”的功能。另外,我们将在下一章中介绍“如何使用RabbitMQ的死信队列来处理用户成功订购后尚未付款的订单我们将采取无效措施。”

补充说明:

由于相应的博客更新可能不是很快,如果您想快速入门并练习整个系统,您可以阅读:Java Mall秒杀系统设计和实际视频教程(SpringBoot版本)

总结:

这篇博文是“Java尖峰系统战斗篇”系列中的第八篇。在本文中,我们将集成消息中间件RabbitMQ,包括添加依赖项,添加配置信息以及自定义注入相关的操作组件,例如RabbitTemplate。最后,将实现消息的初始发送和接收,并在下一章中,它将与邮件服务集成,以实现“用户峰值成功发送电子邮件通知消息”的功能!

含量:

对于消息中间件RabbitMQ,我认为你之前没有使用它,但你应该听过它。它是市场上广泛使用的消息中间件,可以实现消息的异步通信,服务服务模块的解耦和接口限流。消息分配等功能,在微服务中,分布式系统架构可以说是一个了不起的作用! (详细介绍,Debug这里不再赘述,您可以访问官方网站查看更多介绍及其典型应用场景)!

在这篇博文中,我们将使用RabbitMQ作为消息发送的组件,并将其与下一章介绍的“邮件服务”结合起来,实现“在用户激活成功后异步发送电子邮件通知消息,告诉用户穗成功了!“我们一起输入代码吧。

(1)要使用RabbitMQ,必须在本地开发环境或服务器中安装RabbitMQ服务。如下图所示,Debug在本地成功安装RabbitMQ服务后访问后端控制台应用程序的主页:

图像

然后我们开始将它与SpringBoot集成。首先,您需要添加其依赖项,版本号与SpringBoot版本相同,版本号为1.5.7.RELEASE:

然后,您需要将RabbitMQ服务相关配置添加到配置文件application.properties中,例如服务所在的主机,端口Port等:

(2)接下来,我们使用SpringBoot的自然特性自动注入RabbitMQ的一些组件的配置,包括其“单实例消费者”配置,“多实例消费者”配置和用于发送消息的操作组件实例。 RabbitTemplate的配置“:

在RabbitMQ消息发送组件RabbitTemplate的配置中,我们还专门添加了“消息发送确认”和“消息丢失回调”的输出配置,即当消息正确进入队列时,表示消息发送成功;当未找到消息时当相应的队列(在某些情况下,实际上,未找到交换机和路由)时,输出消息将丢失。

(3)完成后,我们准备开始使用RabbitMQ发送和接收消息。首先,我们需要在RabbitmqConfig配置类中创建Bean组件,如队列,交换机,路由和绑定,如下所示:

其中,环境变量实例env读取的那些属性在application.properties文件中配置如下:

接下来,我们需要编写一个在通用消息服务类RabbitSenderService中发送消息的方法,该方法用于接收“订单号”参数,然后在数据库中查询其对应的详细订单记录,并将记录用作信息。并发送到RabbitMQ队列,等待监控消耗:

(4)最后,在通用消息接收服务类RabbitReceiverService中接收消息。完整的源代码如下:

至此,SpringBoot集成了消息中间件RabbitMQ代码实战,本文将在这里介绍。

最后,我们需要在用户在接口上启动“购买”请求操作后测试,如果加标成功,RabbitMQ将发送和接收如下消息:

图像

那么,关于RabbitMQ的使用,这篇文章暂时已经结束了。在下一篇文章中,我们将它与邮件服务集成,以实现“在用户激活成功后异步发送电子邮件通知消息到用户邮箱”的功能。另外,我们将在下一章中介绍“如何使用RabbitMQ的死信队列来处理用户成功订购后尚未付款的订单我们将采取无效措施。”

补充说明:

由于相应的博客更新可能不是很快,如果您想快速入门并练习整个系统,您可以阅读:Java Mall秒杀系统设计和实际视频教程(SpringBoot版本)