SwooleWorker 长连接开发框架 V2.0.0 发布
SwooleWorker是基于swoole开发的一款分布式长连接开发框架。常驻内存,协程,高性能高并发;分布式部署,横向扩容,使得能支持庞大的连接数;无感知安全重启,无缝升级代码;接口丰富,支持单个发送,分组发送,群发广播等接口。可广泛应用于云计算、物联网(IOT)、车联网、智能家居、网络游戏等领域。
系统架构
安装
composer require xielei/swoole-worker
接口
| 接口 | 参数 | 返回值 |
|---|---|---|
| sendToClient | string $client, string $message | |
| sendToUid | string $uid, string $message, array $without_client_list = [] | |
| sendToGroup | string $group, string $message, array $without_client_list = [] | |
| sendToAll | string $message, array $without_client_list = [] | |
| isOnline | string $client | |
| isUidOnline | string $uid | bool |
| getClientListByGroup | string $group, string $prev_client = null | iterable |
| getClientCount | int | |
| getClientCountByGroup | string $group | int |
| getClientList | string $prev_client = null | iterable |
| getClientListByUid | string $uid, string $prev_client = null | iterable |
| getClientInfo | string $client, int $type = 255 | array |
| getUidListByGroup | string $group, bool $unique = true | iterable |
| getUidList | bool $unique = true | iterable |
| getUidCount | float $unique_percent = null | int |
| getGroupList | bool $unique = true | iterable |
| getUidCountByGroup | string $group | int |
| closeClient | string $client, bool $force = false | |
| bindUid | string $client, string $uid | |
| unBindUid | string $client | |
| joinGroup | string $client, string $group | |
| leaveGroup | string $client, string $group | |
| unGroup | string $group | |
| setSession | string $client, array $session | |
| updateSession | string $client, array $session | |
| deleteSession | string $client | |
| getSession | string $client | ?array |
更新日志
2.x对配置项做了优化,配置项修改即生效,无须重启~
在正式项目中,变更配置无须重启服务,用户无感知~
详情参考脚手架【https://gitee.com/hetangys/project】项目。
Register
debug、register_secret、reload_watch等参数放入配置文件
Gateway
debug、register_secret、reload_watch等放入配置文件- 新增自定义命令配置项
command_extra_list,原来的自定义命令方式废弃 - 新增路由配置项
router,原来的路由设置方式废弃 - 限流相关配置项
throttle,throttle_interval,throttle_times,throttle_close放入配置文件
Worker
debug、register_secret、reload_watch等参数放入配置文件worker_file,task_file等参数放入配置文件- 新增
tag_list配置项,设置worker的标签,在gateway中可以根据此标签增强路由分配