rabbitmq常见功能封装的示例分析

  介绍

这篇文章主要介绍rabbitmq常见功能封装的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在项目中rabbitmq得到了广泛的时候,这里对rabbitmq的常规功能做了一个简单的总结,并封装成了作曲家包,作曲家包地址(https://packagist.org/packages/maweibinguo/easyrabbitmq), github地址(https://github.com/maweibinguo/easyrabbitmq),欢迎叉,由于水平有限,难免存在错误,欢迎提出宝贵意见

easy-rabbitmq包简介

对php-amqplib/php-amqplib包的二次封装,为常见功能提供一套开箱即用的生产解决方案
。目前支持的功能列表如下:

<李>

推送消息到直连交换机(含延迟消息)

<李>

推送消息到扇形交换机(含延迟消息)

<李>

推送消息到主题交换机(含延迟消息)

<李>

订阅模式下的可靠消费,消费者消费失败后将会尝试继续消费,最多尝试5次。

<李>

拉取模式下的可靠消费,消费者消费失败后将会尝试继续消费,最多尝试5次。

如果还有其它场景,欢迎继续补充,随后进行迭代! !

要求

<李>

安装包对PHP版本对要求主要取决于php-amqplib/php-amqplib包本身对要求,这里为了兼顾php5.0的使用者,我们使用了php-amqplib/php-amqplib包V2.9.0的版本。
具体的要求参照这里(https://packagist.org/packages/php-amqplib/php-amqplib # V2.9.0)。
不过笔者推荐使用php7.0及其以上版本,这个开发包也是在7.0这个版本上面开发完成的!

安装

,,,,,,composer  require  maweibinguo/easyrabbitmq

使用

在这里我们推荐PHP脚本+主管结合使用,用以保证消费进程的可靠性,增强工人的消费能力!如果你还没有听说过导师,可以点击这里(http://www.supervisord.org/introduction.html)了解。

1,推送消息

1 - 1,推送消息到直连交换机
,,,,,,config 美元;=,(   ,,,,,,,,,“host",=祝辞,“127.0.0.1",   ,,,,,,,,,,,“port",=祝辞,“5672”,   ,,,,,,,,,,,“user",=祝辞,“guest",   ,,,,,,,,,,,“password",=祝辞,“guest",   ,,,,,,,,,,,“vhost",=祝辞,“/?   ,,,,,,,,,,,“channel_max_num",=祝辞,10日   ,,,,,,,,,,   ,,,,,instance 美元;=,RabbitMq: getInstance ($ config);   ,,,,,   ,,,,,//延迟消息,30,秒中后才会到达指定的交换机   ,,,,,美元实例→pushToDirect (   ,,,,,,,,,,,,,,,,,,,,,,,msg 美元;=,时间(),,//消息体内容   ,,,,,,,,,,,,,,,,,,,,,,,exchange 美元;=,“easy_direct_exchange",,//交换机名称   ,,,,,,,,,,,,,,,,,,,,,,,routingKey 美元;=,“direct_test_queue",,//消息的routingKey,消费(得到),方法到bingdingKey 要和routingKey保持一致   ,,,,,,,,,,,,,,,,,,,,,,,delaySec 美元;=,30,//延迟秒数   ,,,,,);      ,,,,,//无延迟,推入到指定到直链交换机   ,,,,,美元实例→pushToDirect (   ,,,,,,,,,,,,,,,,,,,,,,,msg 美元;=,时间(),,//消息体内容   ,,,,,,,,,,,,,,,,,,,,,,,exchange 美元;=,“easy_direct_exchange",,//交换机名称   ,,,,,,,,,,,,,,,,,,,,,,,routingKey 美元;=,“direct_test_queue",,//消息的routingKey,消费(得到),方法到bingdingKey 要和routingKey保持一致   ,,,,,),
1 - 2,推送消息到扇形交换机
,,,,,,config 美元;=,(   ,,,,,,,,,“host",=祝辞,“127.0.0.1",   ,,,,,,,,,,,“port",=祝辞,“5672”,   ,,,,,,,,,,,“user",=祝辞,“guest",   ,,,,,,,,,,,“password",=祝辞,“guest",   ,,,,,,,,,,,“vhost",=祝辞,“/?   ,,,,,,,,,,,“channel_max_num",=祝辞,10日   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

rabbitmq常见功能封装的示例分析