php用rabbit可以干嘛,RabbitMQ,可能有人还不知道是用来干嘛的吧
发布日期:2021-06-24 01:39:08 浏览次数:10 分类:技术文章

本文共 1707 字,大约阅读时间需要 5 分钟。

64ff6d9b9989b78f61d04766e4b5b69d.png

什么是MQ?

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。

RabbitMQ就是MQ的一种,本文介绍了使用PHP访问RabbitMQ消息队列的方法,结合实例形式分析了RabbitMQ消息队列的相关扩展安装、队列建立、队列绑定、消息发送、消息接收等相关操作技巧,需要的朋友可以参考下

扩展安装

PHP访问RabbitMQ实际使用的是AMQP协议,所以我们只要安装epel库中的php-pecl-amqp这个包即可

rpm -ivh http://mirror.neu.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum install php-pecl-amqp

交换建立

$connection = new AMQPConnection();

$connection->connect();

$channel = new AMQPChannel($connection);

$exchange = new AMQPExchange($channel);

$exchange->setName('exchange1');

$exchange->setType('fanout');

$exchange->declare();

队列建立

$connection = new AMQPConnection();

$connection->connect();

$channel = new AMQPChannel($connection);

$queue = new AMQPQueue($channel);

$queue->setName('queue1');

$queue->declare();

队列绑定

$connection = new AMQPConnection();

$connection->connect();

$channel = new AMQPChannel($connection);

$queue = new AMQPQueue($channel);

$queue->setName('queue1');

$queue->declare();

$queue->bind('exchange1', 'routekey');

消息发送

$connection = new AMQPConnection();

$connection->connect();

$channel = new AMQPChannel($connection);

$exchange = new AMQPExchange($channel);

$exchange->setName('exchange5');

$exchange->setType('fanout');

$exchange->declare();

for($i = 0; $i < 2000000; $i++) {

$exchange->publish("message $i", "routekey");

}

消息接收

$connection = new AMQPConnection();

$connection->connect();

$channel = new AMQPChannel($connection);

$queue = new AMQPQueue($channel);

$queue->setName('queue1');

$queue->declare();

$queue->bind('exchange1', 'routekey');

while (true) {

$queue->consume(function($envelope, $queue){

echo $envelope->getBody(), PHP_EOL;

}, AMQP_AUTOACK);

}

看完是不是觉得很简单,这个做消息队列不难!

转载地址:https://blog.csdn.net/weixin_29306261/article/details/116254701 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php相册实训项目,上海PHP网站开发培训、项目模块实训
下一篇:连接 mysql步骤,数据库连接步骤

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月07日 13时23分52秒