RabbitMQ的延迟队列实现[死信队列](笔记一)

关于死信队列的使用场景不再强调,只针对服务端配置

注意: 本文只针对实现死信队列的rabbitMQ基本配置步骤进行阐述和实现

目录

  • 1、docker-compose 安装rabbitMq
  • 2、查看对应的版本及插件下载
  • 3、安装插件和检测

    1、docker-compose 安装rabbitMq

    a、使用docker-compose.yml安装rabbitMq,配置如下

    version: '3.1'
    services:
      rabbitmq:
        image: rabbitmq:3.8.3-management
        container_name: rabbitmq
        restart: always
        hostname: myRabbitmq
        ports:
          - 15673:15672
          - 5673:5672
          - 15674:15674
        volumes:
          - /opt/rabbitmq/data:/var/lib/rabbitmq
        environment:
          - RABBITMQ_DEFAULT_USER=root
          - RABBITMQ_DEFAULT_PASS=root+12345678
    

    注意: 建议大家安装带有-management的,可进行控制台登录查看

    b、启动

    docker-compose up -d rabbitmq
    

    c、查看状态,如下图

    docker ps
    

    d、访问(ip+端口)并登录

    1.2.3.4:15673

    2、查看对应的版本及插件下载

    a、从docker-compose 可以看到本版为3.8.3,所以下载对应版本或者大版本相同的延迟插件

    b、下载链接: https://www.rabbitmq.com/community-plugins.html

    c、在该地址页面找:rabbitmq_delayed_message_exchange

    d、我这里下载了rabbitmq_delayed_message_exchange-3.8.0.ez

    e、将文件上传至rabbitMQ所在服务器即可

    3、安装插件和检测

    a、先确认RabbitMQ服务是否安装过死信队列组件(两种方式)

    第一种、控制台——>Exchanges——>Add a new exchange,查看Type下拉框,没有x-delayed-message

    第二种、服务端进入容器查看

    //TODO 进入容器
    docker exec -it rabbitmq bash
    //TODO 进入插件目录
    cd plugins
    //TODO 查看插件列表
    ls
    

    b、安装

    1、使用 docker 命令将上传好的插件复制到容器内部 插件目录下

    docker cp rabbitmq_delayed_message_exchange-3.8.0.ez  rabbitmq:/plugins
    

    2、进入容器查看是否复制成功

     //TODO 进入容器
    docker exec -it rabbitmq bash
    //TODO 进入插件目录
    cd plugins
    //TODO 查看插件列表
    ls
    

    3、安装启用

     //执行启用插件命令
    rabbitmq-plugins enable rabbitmq_delayed_message_exchange
    
     //查看结果,并退出容器
    rabbitmq-plugins enable rabbitmq_delayed_message_exchange
    //退出容器
    exit
    

    c、重启RabbitMq服务

    docker restart rabbitmq
    

    d、检查对比

    1.登录台控制台——>Exchanges——>Add a new exchange,查看Type下拉框,已经有了x-delayed-message