0


RabbitMQ 介绍入门

👽System.out.println(“👋🏼嗨,大家好,我是代码不会敲的小符,双非大四,Java实习中…”);
📚System.out.println(“🎈如果文章中有错误的地方,恳请大家指正!共同进步,共同成长✊”);
🌟System.out.println(“💡如果文章对您有所帮助,希望您可以三连支持一下博主噢🔥”);
🌈System.out.println("🚀正在完成计划中:接下来的三个月里,对梦想的追逐 ");

文章目录

RabbitMQ 整体架构

消息发送者发送消息到交换机,交换机路由转发给队列
消费者消费队列中的消息
虚拟主机:数据隔离
image.png

快速入门 控制台演示

需求:在RabbitMQ的控制台完成下列操作

  1. 新建队列hello.queue1和hello.queue2
  2. 向默认的amp.fanout交换机发送一条消息
  3. 查看消息是否到达hello.queue1和hello.queue2

数据隔离

需求:在RabbitMO的控制台完成下列操作

  1. 新建一个用户hmall
  2. 为hmall用户创建一个virtual host
  3. 测试不同virtualhost之间的数据隔离现象

AMQP 消息通信协议 和Spring AMQP

Advpnced Message Queuing Protocol,是用于在应用程序之间传递业务消息的开放标准。该协议与语言和平台无关,更符合微股务中独立性的要求。
Spring AMQP是基于AMQP协议定义的一套API规范,提供了模板来发送和接收消息。包含两部分,其中spring-amgp是基础抽象,spring-rabbit是底层的默认实现。
Spring AMQP
Spring AMQP 中文文档

快速入门

需求如下

  1. 利用控制台创建队列simple.queue
  2. 在 publisher 服务中,利用 SpringAMQP 直接向 simple.queue 发送消息
  3. 在 consumer 服务中,利用 SpringAMQP 编写消费者,监听 simple.queue 队列

image.png
SpringAMQP 提供了 RabbitTemplate 工具类,类似于 RedisTemplate,帮助我们封装好,直接调用api即可。

引入依赖

<!--        amqp协议,包含rabbitmq--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId><version>2.1.7.RELEASE</version></dependency>

发送者

@SpringBootTestpublicclassSpringAmqpTest{@AutowiredprivateRabbitTemplate rabbitTemplate;@TestpublicvoidtestSendMessage2TestQueue(){String queueName ="test.queue";String msg ="hello, amqp";
        rabbitTemplate.convertAndSend(queueName, msg);}}

消费者

@Component@Slf4jpublicclassRabbitListener{@RabbitListener(queues ="test.queue")publicvoidlistenTestQueueMessage(String msg){
        log.info("consumer accept message: {}", msg);
        log.info("message success!");}}

最后

慢慢的来,别着急!学会有质量的走过每一步

我是代码不会敲的小符,希望认识更多有经验的大佬,也在努力摸索出自己的道路
欢迎添加小符微信:A13781678921,一起加油

标签: rabbitmq 中间件 java

本文转载自: https://blog.csdn.net/weixin_57780057/article/details/136081073
版权归原作者 代码不会敲 所有, 如有侵权,请联系我们删除。

“RabbitMQ 介绍入门”的评论:

还没有评论