RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。如果不熟悉AMQP,直接看RabbitMQ的文档会比较困难。首先讲一下 AMQP 1、系统集成,分布式系统的设计。各种子系统通过消息来对接,这种解决方案也逐步发展成一种架构风格,即“通过消息传递的架构”。 2、当系统中的同步处理方式严重影响了吞吐量,比如日志记录。假如需要记录系统中所有的用户行为日志,如果通过同步的方式记录日志势必会影响系统的响应速度,当我们将日志消息发送到消息队列,记录日志的子系统就会通过异步的方式去消费日志消息。 3、系统的高可用性,比如电商的秒杀场景。当某一时刻应用服务器或数据库服务器收到大量请求,将会出现系统宕机。如果能够将请求转发到消息队列,再有服务器去消费这些消息将会使得请求变得平稳,提高系统的可用性。
工作队列模式 安装rabbitmq 和 php-amqplib和php
sudo apt install php
sudo apt install rabbitmq-server
安装依赖
sudo apt install php-bcmath php-mbstring
安装依赖
sudo apt install php-dom php-curl
安装composer
sudo apt install composer
创建目录
mkdir sites
cd sites/
下载项目
git clone https://github.com/php-amqplib/php-amqplib.git
cd php-amqplib/
sudo composer config -g repo.packagist composer https://packagist.phpcomposer.com
sudo composer update
测试项目
cd demo/
生产者发送数据
php amqp_publisher.php hello
消费者接受数据
php amqp_consumer.php
--------
hello
--------
完成