工作原理

1、Register、Gateway、Worker进程启动

2、Gateway、Worker进程启动后向Register服务进程发起长连接注册自己

3、Register服务收到Gateway的注册后,把所有Gateway的通讯地址保存在内存中

4、Register服务收到Worker的注册后,把内存中所有的Gateway的通讯地址广播给Worker

5、Worker进程得到所有的Gateway内部通讯地址后尝试连接Gateway

6、如果运行过程中有新的Gateway服务注册到Register(一般是分布式部署加机器),则将新的Gateway内部通讯地址列表将广播给所有Worker,Worker收到后建立连接

7、如果有Gateway下线,则Register服务会收到通知,会将对应的内部通讯地址删除,然后广播新的内部通讯地址列表给所有Worker,Worker不再连接下线的Gateway

8、至此Gateway与Worker通过Register已经建立起长连接

9、客户端发的数据全部由Gateway转发给Worker处理,Worker将处理结果再由Gateway返回给客户端

10、Worker的业务逻辑入口全部在Events.php中,包括onWorkerStart进程启动事件、onConnect连接事件、onMessage消息事件、onClose连接关闭事件、onWorkerStop进程退出事件

results matching ""

    No results matching ""