乐趣区

关于php:docker安装RabbitMQ

摘要

本文次要介绍了应用 docker 装置 rabbitmq 音讯队列服务,并简述了应用 php 操作 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 通配符设置
  • routekey 个别都是有一个或多个单词组成,多个单词之间以”.”宰割,例如:item.insert
    通配符规定:# 匹配一个或多个词, 匹配不多不少恰好 1 个词,例如:item.# 可能匹配 item.insert.abc 或者 item.insert,item. 只能匹配 item.insert

相干文章

  • php 极速开发源码包之 super.rabbitmq

原文链接

原文来自《稻田代码》 点击查看原文《docker 装置 RabbitMQ》

退出移动版