使用 Docker 来开发 PHP,Laradock 系列 6:RabbitMQ
先前在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
。
一旦你进入,用户界面应该是这样的:
Laravel 队列使用 RabbitMQ
我有一个关于 laravel 包的另一个系列文章的想法。所以对于 Laravel 的rabbitmq 示例,我把它分开在这里。
祝你在 laradock 体验到 RabbitMQ 的乐趣!
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。