使用 Docker 来开发 PHP,Laradock 系列 6:RabbitMQ

PHP

先前在PHP-Worker in Laradock中,我们已经尝试使用队列,通过使用database连接进入jobs表的作业,并使用php-worker容器运行队列工作。现在让我们尝试使用外部服务(除了我们的 laravel 应用程序)进行队列处理,它们通常称为message-broker(消息代理)。

目前最好的 message-broker 之一是 RabbitMQ,幸运的是,Laradock拥有它。让我们试试吧!

运行 RabbitMQ 容器

像往常一样轻松,进入你的 laradock 目录,使用你最喜欢的 CLI 并执行这个命令:

docker-compose up -d rabbitmq

上面的命令将下载 rabbitmq docker 镜像,并第一次构建它(确保你的网络已连接)。在它完成创建后,你可以使用docker-compose ps检查容器的状态,在这里我得到:

           Name                          Command               State                                                     Ports
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh            Up      2375/tcp, 2376/tcp
laradock_php-fpm_1            docker-php-entrypoint php-fpm    Up      9000/tcp
laradock_rabbitmq_1           docker-entrypoint.sh rabbi ...   Up      0.0.0.0:15671->15671/tcp, 0.0.0.0:15672->15672/tcp, 25672/tcp, 4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp
laradock_workspace_1          /sbin/my_init                    Up      0.0.0.0:2222->22/tcp, 0.0.0.0:8001->8000/tcp, 0.0.0.0:8080->8080/tcp

当我们使用docker stats检查容器使用的资源时,我得到的是:

CONTAINER ID        NAME                          CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
851befcbcc87        laradock_rabbitmq_1           69.30%              88.38MiB / 3.846GiB   2.24%               245kB / 765kB       0B / 119kB          88  
e940b1ebf50c        laradock_php-fpm_1            0.00%               7.703MiB / 3.846GiB   0.20%               1.91kB / 0B         123kB / 0B          3   
bfb04cbeba8d        laradock_workspace_1          0.00%               9.16MiB / 3.846GiB    0.23%               4.31kB / 0B         7.22MB / 57.3kB     6 
f7a90b272d84        laradock_docker-in-docker_1   0.19%               20.43MiB / 3.846GiB   0.52%               2.43kB / 0B         2.55MB / 918kB      23

访问 RabbitMQ 管理 (Web UI)

rabbitmq 管理可通过 http://localhost:15672/#/ 访问,用户名和密码的默认登录凭证都是guest

一旦你进入,用户界面应该是这样的:

PHP

Laravel 队列使用 RabbitMQ

我有一个关于 laravel 包的另一个系列文章的想法。所以对于 Laravel 的rabbitmq 示例,我把它分开在这里

祝你在 laradock 体验到 RabbitMQ 的乐趣!

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://dev.to/dendihandian/rabbitmq-in-...

译文地址:https://learnku.com/php/t/43482

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!