ericliu000/c-lion-bus

lion-bus for composer

dev-master 2018-07-03 02:51 UTC

This package is not auto-updated.

Last update: 2024-09-20 20:26:25 UTC


README

Lion属于消息总线(基于Swoole)。

在lion中,你不需要关心消息的介质(redis,kafka等等)。

你唯一需要做的是发送消息和处理消息!

简单实用,只为你的需求!

Lion是消息总线的一种实现(基于Swoole实现)。

使用Lion,你不必关心消息的具体存储介质(redis,kafka等等)。

你唯一需要做的事情就是发送消息和处理消息。

就这么简单、实用,只为你的需求!

Lion

C-Lion-Bus使用教程

以下教程默认你已经安装了swoole。

0、c-lion-bus使用说明

c-lion-bus目前版本为v0.1,以composer包的方式提供服务。

c-lion-bus提供了消息总线的功能,即是一个抽象的消息队列。

基于swoole的tcp长连接功能,从此告别while(true)的写法。

c-lion-bus基于可靠消息队列,提供了生产者、消费者的使用,以及简单的消息统计功能。

1、引入c-lion-bus

  • 执行如下命令,引入c-lion-bus
composer require ericliu000/c-lion-bus dev-master --prefer-dist

2、建立c-lion配置文件

建立文件

/vendor/config/LionConfig.php

示例配置文件,参考

/vendor/ericliu000/c-lion-bus/src/Common/LionConfig.php.example

3、producer的使用方法

//$topic为该消息的topic。
//$data为向该topic推送的数据。

use Lion\LionProducer;
$lion = new LionProducer();
$lion->produce($topic,$data);

示例

use Lion\LionProducer;
$lion = new LionProducer();
$lion->produce('SignTopic',['sign'=>1,'check'=>true]);

4、comsumer的使用方法

1、在LionConfig.php中,配置consumer获取到该topic数据后要执行的命令
2、启动consumer

示例

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 &

实际消费方法如下

//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

待办事项

1、接入kafka

2、接入rabbitmq