稻田代码

docker安装RabbitMQ

摘要

本文主要介绍了使用docker安装rabbitmq消息队列服务,并简述了composer安装包php-amqplib的安装方法。同时概述了使用rabbitmq进行业务开发的主要步骤。如想获取php操作rabbitmq的代码包,请查看 php极速开发源码包之super.rabbitmq

安装RabbitMQ

参考文档

拉取镜像

docker pull docker.io/rabbitmq:3.8-management

运行容器(会自动启动)

docker run --name rabbitmq -d -p 15672:15672 -p 5672:5672 rabbitmq:3.8-management

启动rabbitmq服务(若已经启动可以跳过)

docker start rabbitmq

访问

127.0.0.1:15672 默认账号密码 guest/guest

默认端口:15672 为网页管理 5672 为 AMQP端口(连接mq时使用)

补充内容

安装composer依赖

php composer.phar require php-amqplib/php-amqplib

开发步骤

  • 管理页面创建 vhost(虚拟机)
  • 并创建用户绑定vhost(用户可以操作此vhost)
  • 创建exchange(交换机) 并绑定vhost
  • 创建queue,并绑定exchange和指定routekey(发送到此exchange的routekey消息将被分发到此queue)
  • 生产者连接vhost并将消息推送到exchange并指定routekey
  • 消费者连接vhost并指定队列进行消费(无需指定routekey和exchange)

exchange分发模式

  • direct

生产者消息的routekey必须和队列绑定的routekey完全匹配才会分配到队列

  • topic

生产者消息的routekey只要符合队列绑定的routekey通配符规则就会分配到队列

routekey通配符设置

  • Routingkey 一般都是有一个或多个单词组成,多个单词之间以”.”分割,例如: item.insert
    通配符规则:# 匹配一个或多个词,* 匹配不多不少恰好1个词,例如:item.# 能够匹配 item.insert.abc 或者 item.insert,item.* 只能匹配 item.insert

相关文章





本原创文章未经允许不得转载 | 当前页面:稻田代码 » docker安装RabbitMQ