RabbitMQ

简介

消息队列提供一个异步通信机制,消息的发送者不必一直等待到消息被成功处理才返回,而是立即返回。消息中间件负责处理网络通信,如果网络连接不可用,消息被暂存于队列当中,当网络畅通时,将消息转发给相应的应用程序或者服务。

如果在商品服务和订单服务之间使用消息中间件,既可以提高并发量,又降低服务之间的耦合度。

RabbitMQ是一个开源的消息代理的队列服务器,用来通过普通协议在完全不同的应用之间共享数据


Docker下相关命令

  • 下载

    1
    2
    # 要选择带management的版本,带管理页面
    docker pull rabbitmq:3.12-management
  • 创建用户

    1
    2
    3
    4
    rabbitmqctl add_user [username] [password]

    # 赋予管理员权限
    rabbitmqctl set_user_tags [username] administrator

架构

image-20231018100910521


交换机 exchange

发布订阅模式 fanout

发布一次,消费多个。