Download the PHP package devweyes/ws-server-cluster without Composer
On this page you can find all versions of the php package devweyes/ws-server-cluster. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package ws-server-cluster
swoft websocket cluster
1. 介绍
基于swoole websocket server的swoft websocket已经很方便的开箱即用,但其无法直接支持多机器集场。
本组件可支持大多数web推送场景,IM互聊场景,IM群发场景等。
使用前请通读Swot webdocket Server文档,配置习惯与其并无任何变化。
流程请参见下图
- ① 客户端发起握手请求并建立连接
- ② 当前服务端向资源管理State注册并绑定当前用户信息
- ③ 服务端A向服务B所在消息队列推送消息
- ④ 服务端B消费消息并接收
- ⑤ 服务端B向客户端推送消息
2. 特性
- 高性能,水平扩容
- 高可用,所有机器都为master,相互心跳检测
- 消息队列与状态管理均采用适配器模式,默认均为redis驱动,拓展性强
- 事件均采用Aop切面技术,无感知,解耦
- 与原使用起来基本一致,习惯保持
3. 安装
composer
redis
默认使用redis内存服务器作为状态保存,消息队列。所以你还需至少一台redis服务器或集群
4. 使用
基本使用
使用命令,,, 请参见Swot webdocket Server文档
一个完整的需配置全部已知方法注解,用于实现切面。包括... ,可由代替,否则可能无法正常使用。
集群配置
默认配置,如需自定义可覆盖。
bean.php添加异步进程消息处理
bean.php添加消息控制器中间键()
新增中间键概述
onHandshakeMiddleware 中间键
- 只需在主配置添加集合,即可优雅完成处的处理。此中间键集合一般可用作请求过滤等业务。
-
类需继
- 方法为入,为出,所有中间键先入后出顺序,参数与一致。
- 如需阻断,则需,可垮中间键传输
onOpenMiddleware 中间键
- 只需在主配置添加集合,即可优雅完成处的处理。此中间键一般用作处理用户绑定,头部token解析等逻辑。
-
类需继
- 方法为入,为出,所有中间键先入后出顺序,参数与一致。
内置用户绑定中间键,替换此中间键一般需实现用于用户绑定
消息推送Api
Swoft对单机推送的支持,详见 Swot webdocket Server消息推送Api。
Cluster支持对所有服务器的任意客户端直推消息
内置事件
消息接收
用户注册
用户注销
server服务心跳
server服务离线
All versions of ws-server-cluster with dependencies
PHP Build Version
Package Version
Requires
php Version
>7.1
ext-redis Version *
ext-json Version *
ext-mbstring Version *
swoft/websocket-server Version ~2.0.0
swoft/redis Version ~2.0.0
swoft/stdlib Version ~2.0.0
swoft/serialize Version ~2.0.0
swoft/bean Version ~2.0.0
devweyes/queue Version ^1.0
ext-redis Version *
ext-json Version *
ext-mbstring Version *
swoft/websocket-server Version ~2.0.0
swoft/redis Version ~2.0.0
swoft/stdlib Version ~2.0.0
swoft/serialize Version ~2.0.0
swoft/bean Version ~2.0.0
devweyes/queue Version ^1.0
The package devweyes/ws-server-cluster contains the following files
Loading the files please wait ....