- 作者:老汪软件技巧
- 发表时间:2024-10-15 15:05
- 浏览量:
RabbitMQ ,是异步调用中消息broker角色实现的一种方式,其中15672是RabbitMQ提供的管理控制台的端口,5672是RabbitMQ的消息发送处理接口.
1.RabbitMQ架构图
相关概念:
消息Broker:管理、暂存、转发消息,可以把它理解成微信服务器,这里是RabbitMO平台user:指RabbitMQ的管理或运维人员,不同的user可以负责不同的虚拟主机和权限VirtualHost:虚拟主机,具备隔离效果的一个空间,包含交换机和队列exchange:交换机,用来根据指定规则进行消息的路由具体的队列queue:队列,具备存储消息的容器Publisher:消息生产者,用来生产与发送消息的角色,通过代码实现Consumer:消息消费者,用来消费消息的角色,通过代码实现
实现流程:
在平台或通过代码注册相关虚拟主机 交换机 队列等publisher和consumer登录rabbitMQ平台
spring:
rabbitmq:
host: 192.168.138.100
port: 5672
virtual-host: /hmall
username: joruia
password: 123321
3. publisher和consumer使用SpringbootAMQP中RabbitTemplate或者amqpTemplate的convertandsend方法,和@RabbitListener发送和监听消息
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-amqpartifactId>
dependency>
2.RabbitMQ的五种模式及其能够达到的效果
1.简单模式
是最基础的消息传递模式。生产者发送消息到队列,消费者从队列中接收消息。每个消息只会被一个消费者消费。适用于简单的任务分配场景,如后台任务处理。
2.工作队列模式
也称为轮询(Round-robin)调度模式。多个消费者监听同一个队列,消息会轮番地被分发给不同的消费者。可以实现负载均衡,提高处理速度,特别适合于需要多个工作进程并行处理的任务