RabbitMQ从入门到精通:消息队列实战解析(笔记)

一、RabbitMQ简介与Docker快速部署

1.1 什么是RabbitMQ?
  • 基于AMQP协议的开源消息代理,支持多种消息模式。

  • 核心概念:生产者、消费者、交换机(Exchange)、队列(Queue)、绑定(Binding)。

1.2 Docker部署RabbitMQ

bash

docker run --name mq \
  -e RABBITMQ_DEFAULT_USER=hmall \
  -e RABBITMQ_DEFAULT_PASS=hmall \
  -v mq-plugins:/plugins \
  -p 15672:15672 \  # 管理界面端口
  -p 5672:5672 \    # AMQP协议端口
  --network hmall \
  -d \
  rabbitmq:3.8-management
  • 访问管理界面:http://localhost:15672,使用配置的用户名密码登录。


二、Java客户端基础配置

2.1 添加依赖与配置文件

pom.xml

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

yaml

spring:
  rabbitmq:
    host: 192.168.115.132
    port: 5672
    virtual-host: /hmall
    username: hmall
    password: hmall
2.2 生产者发送消息

java

@SpringBootTest
public class PublisherTest {
    @Autowired
    private RabbitTemplate rabbitTemplate;
    
    @Test
    public void sendMessage() {
        rabbitTemplate.convertAndSend("simple.queue", "Hello RabbitMQ!");
    }
}
2.3 消费者监听消息

java

@Component
public class Consumer {
    @RabbitListener(queues = "simple.queue")
    public void listen(String message) {
        System.out.println("Received: " + message);
    }
}

三、工作模式(Work Queues)

3.1 能者多劳配置

yaml

spring:
  rabbitmq:
    listener:
      simple:
        prefetch: 1  # 每次只处理一个消息
3.2 多消费者示例

java

@RabbitListener(queues = "work.queue")
public void worker1(String msg) throws InterruptedException {
    System.out.println("Worker1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值