lion-bus for composer
Lion belongs to Message Buses(Based On Swoole)., (*1)
In lion,You don't need to care about the message media(redis,kafka,etc...), (*2)
The only thing you need to do is to send message and handle the message!, (*3)
So simple and useful,just for you!, (*4)
Lion是消息总线的一种实现(基于Swoole实现)。, (*5)
使用Lion,你不必关心消息的具体存储介质(redis,kafka等等), (*6)
你唯一需要做的事情就是发消息和处理消息。, (*7)
就是这么简单、实用,为你而来!, (*8)
![Lion][1], (*9)
以下教程,默认你已经安装了swoole。, (*10)
c-lion-bus目前版本为v0.1,以composer包的方式提供服务。, (*11)
c-lion-bus提供了消息总线的功能-即是一个抽象的消息队列。, (*12)
基于swoole的tcp长连接功能,从此告别while(true)的写法。, (*13)
c-lion-bus基于可靠消息队列,提供了生产者、消费者的使用,以及简单的消息统计功能。, (*14)
composer require ericliu000/c-lion-bus dev-master --prefer-dist
建立文件, (*15)
/vendor/config/LionConfig.php
示例配置文件,参考, (*16)
/vendor/ericliu000/c-lion-bus/src/Common/LionConfig.php.example
//$topic为该消息的topic。 //$data为向该topic推送的数据。 use Lion\LionProducer; $lion = new LionProducer(); $lion->produce($topic,$data);
示例, (*17)
use Lion\LionProducer; $lion = new LionProducer(); $lion->produce('SignTopic',['sign'=>1,'check'=>true]);
1、在LionConfig.php中,配置consumer获取到该topic数据后要执行的命令 2、启动consumer
示例, (*18)
1、示例为:在LionConfig.php中,配置topic=Sign 与 topic=Sms的command 'command'=>[ 'Sign'=>'cd /Users/ericliu000/Project/maibei-backend && php -f /Users/ericliu000/Project/maibei-backend/console.php /Index/Sign', 'Sms'=>'cd /Users/ericliu000/Project/maibei-backend && php -f /Users/ericliu000/Project/maibei-backend/console.php /Index/Sms', ] 2、启动Topic=Sms的消费进程 TOPIC=Sms php vendor/ericliu000/c-lion-bus/bin/consume.php & 3、启动Topic=Sign的消费进程 TOPIC=Sign php vendor/ericliu000/c-lion-bus/bin/consume.php &
实际消费方法如下, (*19)
//1、IndexController.class.php定义方法如下 public function Sign(){ //$argv是一个数组,包含上面的数据即['sign'=>1,'check'=>true] global $argv; //Do Your Logic... } public function Sms(){ //$argv是一个数组,包含上面的生产者生产的数据 global $argv; //Do Your Logic... }
有使用疑问请联系 E-MAIL:ericliu2022@gmail.com, (*20)
1、接入kafka, (*21)
2、接入rabbitmq, (*22)