步骤32:使用RabbitMQ作为消息代理

5.2版本
保持

使用rabbitmq作为消息经纪人

RabbitMQ是一个非常受欢迎的消息经纪人,您可以用作PostgreSQL的替代品。

从PostgreSQL切换到RabbitMQ

使用rabbitmq而不是postgreSQL作为消息代理:

patch_file.
1 2 3 4 5 6 7 8 9 10 11
--- a / config / packages / messenger.yaml+++ b / config / packages / messenger.yaml@@ -6,7 +6,7 @@框架:运输:#https://symfony.coob娱乐下载m/doc/current/messenger.html#transport-configuration async:-  DSN:'%env(messenger_transport_dsn)%'+ DSN:'%env(rabbitmq_url)%'选项:USE_NOTIFY:TRUE CHECK_DELAYED_INTERVAL:60000

将RabbitMQ添加到Docker堆栈

正如您可能猜到的那样,我们还需要将RabbitMQ添加到Docker Compose Stack:

patch_file.
1 2 3 4 5 6 7 8 9 10
--- a / docker-compose.yaml+++ b / docker-compose.yaml@@ -21,3 +21,7 @@服务:redis:图片:Redis:5-Alpine端口:[6379]++ rabbitmq:+图片:RabbitMQ:3.7-管理+端口:[5672,15672]

重新启动Docker服务

要强制Docker撰写才能考虑rabbitmq容器,请停止容器并重新启动它们:

1 2
$ docker-compose stop $ docker-compose Up -d
1
$睡眠10.

探索RabbitMQ Web管理界面

如果要查看流过RabbitMQ的队列和消息,请打开其Web管理界面:

1
$ ob娱乐下载symfony开放:本地:rabbitmq

或从Web Debug工具栏:

来宾/来宾要登录RabbitMQ管理UI:

部署RabbitMQ.

将RabbitMQ添加到生产服务器可以通过将其添加到服务列表中来完成:

patch_file.
1 2 3 4 5 6 7 8 9 10 11
--- a /ob娱乐下载 .symfony / services.yaml+++ b /ob娱乐下载 .symfony / services.yaml@@ -18,3 +18,8 @@文件:Rediscache:类型:Redis:5.0++队列:+类型:rabbitmq:3.7+磁盘:1024+大小:s

在Web容器配置中引用它并启用amqp.PHP延期:

patch_file.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 17 18
--- a /ob娱乐下载 .ob直播appsymfony.cloud.yaml+++ b /ob娱乐下载 .ob直播appsymfony.cloud.yaml@@ -4,6 + 4,7 @@ type:php:7.4运行时:扩展:+  -  AMQP.-  Redis  -  Blackfire  -  XSL@@ -28,6 +29,7 @@ disk:512关系:数据库:“DB:PostgreSQL”Redis:“Rediscache:Redis”+ rabbitmq:“队列:rabbitmq”网页:位置:

当在项目上安装RabbitMQ服务时,您可以首先打开隧道访问其Web管理界面:

1 2 3 4 5
$ ob娱乐下载symfony隧道:Open $ Symfony开放:遥控器:RabbitMQ#完成后#$ ob娱乐下载symfony隧道:关闭

这项工作包括代码样本,是在a下获得的许可Creative Commons By-NC-SA 4.0执照。