PHP高性能分布式socket服务框架GatewayWorker

2021年7月8日12:54:30

 官方文档: http://doc2.workerman.net/

demo代码:https://gitee.com/open-php/gateway

测试环境: http://www.websocket-test.com/ 支持本地IP

 

 

 

原来比较简单,整理项目代码大部分是基于workerman,支持的很多常用操作封装成gateway

基本操作都是开箱即用,worker工作进程可以无限增加,对于用户端的基本无影响,目前支持被动断线重连,需要客户端配合,踢掉原来的client_id,在重新建立连接

性能方面和webman还要好,

但是很多组件都需要自己集成

GlobalData分布式变量共享组件

Channel分布式通讯组件

文件监控组件

Mysql组件

Redis组件

异步DNS组件

异步HTTP客户端组件

异步消息队列ZMQ组件

异步消息队列RabbitMQ组件

 

目前支持的协议有

 

protocol:

为应用层协议,目前支持的协议有
1、websocket协议
2、text协议
3、Frame协议
4、自定义通讯协议
5、tcp,直接裸tcp,不推荐,见通讯协议作用

 

如果你需要支持庞大的长链接支持,GatewayWorker是个很好的选择

 

使用简单说明:

1,git clone https://gitee.com/open-php/gateway

2,根目录,composer install 

3,在gateway目录下先运行 php register_start.php -d 只能有一个

4,在gateway目录下先运行 php gateway_start.php -d 只能有一个 

5,如果你做分布式的话只需要运行 3,4操作, 注意 worker每个 $worker->name都不能一样,$worker->registerAddress = '127.0.0.1:1238'; 必须一样

6,只运行一份,直接在app目录上运行 php worker_start.php -d

7,分布式部署,只需要复制代码修改worker->name 多出运行

8,测试工具 http://www.websocket-test.com/ 可以测试本地地址

9,访问地址是gateway_start里面的地址 $gateway = new Gateway("websocket://0.0.0.0:8181");

 

QQ一群 247823727 (满了)
QQ二群 166427999 (新群,写PHP最佳实践为主)
博客文件如果不能下载请进群下载
如果公司项目有技术瓶颈问题,如有需要,技术服务QQ: 903464207

posted on 2021-07-08 14:36  zh7314  阅读(108)  评论(0编辑  收藏  举报