# 简单的消息队列服务 **Repository Path**: DBlueLeaf/simple_es_queue_service ## Basic Information - **Project Name**: 简单的消息队列服务 - **Description**: 使用easyswoole搭建的消息队列服务 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2020-03-18 - **Last Updated**: 2023-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 部署项目 ## 安装swoole ```bash #安装 wget https://codeload.github.com/swoole/swoole-src/tar.gz/v4.4.14 -O swoole-src-4.4.14.tar.gz tar zxvf swoole-src-4.4.14.tar.gz cd swoole-src-4.4.14 phpize ./configure --with-php-config=/usr/local/php/bin/php-config --enable-openssl --enable-http2 make && make install #启用扩展 在 php.ini 中加入一行 extension=swoole.so 来启用 Swoole 扩展 ``` ## 文件目录说明 ```bash ├─easyswoole │ ├─App │ │ ├─HttpController │ │ | ├─Api │ │ | | ├─QueueProducer.php 投递任务的api │ │ | ├─Router.php 路由文件 │ │ | ├─Utility │ │ | | ├─QueueProcess.php 消费任务的进程代码 │ ├─Extend 自己用的扩展 │ ├─dev.php 开发模式下的配置文件,以 php easyswoole start 启动服务 │ ├─producet.php 生产模式下的配置文件,以 php easyswoole start produce 启动服务 │ ├─EasySwooleEvent.php 框架全局事件 ``` ## 配置反向代理 ```bash vi /data/nginx_conf/esqueue01.web02.xxx.conf server { listen 8081; root /data/project/php/other/easyswoole_queue01; server_name esqueue01.web02.xxx; location / { proxy_http_version 1.1; proxy_set_header Connection "keep-alive"; proxy_set_header X-Real-IP $remote_addr; if (!-f $request_filename) { proxy_pass http://127.0.0.1:9501; } } } ``` ## 服务说明 ```bash #守护模式启动 php easyswoole start d #服务停止,守护模式下才需要stop,不然control+c或者是终端断开就退出进程了 php easyswoole stop ``` ## 流程说明 1. 通过访问消息队列系统的api,来推送任务 ```bash http://127.0.0.1:8086/api/queuepush?jobData=[{"url":"http:\/\/127.0.0.1:8086","method":"POST","params":{"id":"5e72d73fd820a"}},{"url":"http:\/\/127.0.0.1:8086","method":"POST","params":{"id":"5e72d73fd8221"}}]&time=1584584511&sign=976d75713444cf0612a5537bdcb24003 参数说明 url:回调url method:请求回调url时用的方法 params:请求回调url时带的参数 time:发送时间 sign:签名 ``` 2. 消息队列系统将会将参数发送给回调的url ```bash http://127.0.0.1:8086?jobData={"id":"5e72d73fd820a"}&time=1584584973&sign=bceb2d530433de850f54fba480bb4ee0 ```