摘要

本文次要介绍了应用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》