PHP rabbitmq Work queues

Posted 从零开始的linux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP rabbitmq Work queues相关的知识,希望对你有一定的参考价值。

RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。如果不熟悉AMQP,直接看RabbitMQ的文档会比较困难。首先讲一下 AMQP 1、系统集成,分布式系统的设计。各种子系统通过消息来对接,这种解决方案也逐步发展成一种架构风格,即“通过消息传递的架构”。

2、当系统中的同步处理方式严重影响了吞吐量,比如日志记录。假如需要记录系统中所有的用户行为日志,如果通过同步的方式记录日志势必会影响系统的响应速度,当我们将日志消息发送到消息队列,记录日志的子系统就会通过异步的方式去消费日志消息。

3、系统的高可用性,比如电商的秒杀场景。当某一时刻应用服务器或数据库服务器收到大量请求,将会出现系统宕机。如果能够将请求转发到消息队列,再有服务器去消费这些消息将会使得请求变得平稳,提高系统的可用性。

工作队列模式 安装rabbitmq 和 php-amqplib和php

 
   
   
 
  1. sudo apt install php

  2. sudo apt install rabbitmq-server

  3. 安装依赖

  4. sudo apt install php-bcmath php-mbstring

  5. 安装依赖

  6. sudo apt install php-dom php-curl

  7. 安装composer

  8. sudo apt install composer

创建目录

 
   
   
 
  1. mkdir sites

  2. cd sites/

下载项目

 
   
   
 
  1. git clone https://github.com/php-amqplib/php-amqplib.git

  2. cd php-amqplib/

  3. sudo composer config -g repo.packagist composer https://packagist.phpcomposer.com

  4. sudo composer update

测试项目

 
   
   
 
  1. cd demo/

  2. 生产者发送数据

  3. php amqp_publisher.php  hello

  4. 消费者接受数据

  5. php amqp_consumer.php

  6. --------

  7. hello

  8. --------

完成


以上是关于PHP rabbitmq Work queues的主要内容,如果未能解决你的问题,请参考以下文章

RabbitMQ的work queue

RabbitMQ--work queues

RabbitMQ学习总结(上)——RabbitMQ介绍安装 和 Work Queues模式

RabbitMQ学习之Work Queues

Rabbitmq_02 Work Queues

RabbitMQ --- Work Queues(工作队列)