RabbitMQ 结构
- 生产者
- 消费组
- 交换机 四种交换机类型
direct 点对点 fanout 广播 topic 订阅发布 heanders 废弃 常用topic - 绑定
- 队列
- 消费者
- 连接 tcp长连接
- 信道
- 消息:消息头 ,消息体 ,路由键 routing key
- 消息建 存到哪个队列交换机 交换标识
- virtual 虚拟环境 默认 / 用于跨平台不同环境 或不同语言
- Erlang 编写 rabbit mq 语言
运行一个 rabbitmq
docker run -d --name rabbitmq
-p 5671:5671
-p 5672:5672
-p 4369:4369
-p 25672:25672
-p 15671:15671
-p 15672:15672
rabbitMQ:image
- 4369,25672 Erlang 发现 集群端口
- 5672,5671 AMQP端口
- 1572 web 管理后台
- 61613,61614 STMP 协议端口
- 1883,8883 MQTT 协议端口
访问后台
192.168.70.15 (机器ip).15672
默认账号密码
账号 密码 : guest
模板
SpringBoot 提供jms 模板 提供 RabbitMq 模板 直接使用 @EnabelRabbit @RabbitListener
<!-- rabbit mq -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
#rabbitmq连接参数
spring.rabbitmq.host=192.168.70
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
#rabbitmq消息确认
spring.rabbitmq.publisher-confirms=true
@Component
@RabbitListener(queues = "queue")
public class HelloReceiver {
@RabbitHandler
public void process(String hello) {
System.out.println("Receiver1 : " + hello);
}
|