GatewayWorker介绍

一、工作原理

  1. Register、Gateway、BusinessWorker进程启动
  2. Gateway、BusinessWorker进程启动后向Register服务进程发起长连接注册自己
  3. Register服务收到Gateway的注册后,把所有Gateway的通讯地址保存在内存中
  4. Register服务收到BusinessWorker的注册后,把内存中所有的Gateway的通讯地址发给BusinessWorker
  5. BusinessWorker进程得到所有的Gateway内部通讯地址后尝试连接Gateway
  6. 如果运行过程中有新的Gateway服务注册到Register(一般是分布式部署加机器),则将新的Gateway内部通讯地址列表将广播给所有BusinessWorker,BusinessWorker收到后建立连接
  7. 如果有Gateway下线,则Register服务会收到通知,会将对应的内部通讯地址删除,然后广播新的内部通讯地址列表给所有BusinessWorker,BusinessWorker不再连接下线的Gateway
  8. 至此Gateway与BusinessWorker通过Register已经建立起长连接
  9. 客户端的事件及数据全部由Gateway转发给BusinessWorker处理,BusinessWorker默认调用Events.php中的onConnect onMessage onClose处理业务逻辑。

入门指引

重要的事情说三遍

业务开发只需要关注Application/项目/Evenets.php一个文件即可。
业务开发只需要关注Application/项目/Evenets.php一个文件即可。
业务开发只需要关注Application/项目/Evenets.php一个文件即可。

开放的端口以及协议在start_gateway.php中更改。