SwooleDistributed 2.3.0 版本更新

SwooleDistributed2.3.0版本更新

1.TimerTask,Reload,Consul的服务监听都合并为了一个新进程SDHelpProcess,TimerTask现在通过内部Rpc可以负载均衡的通知各个wokrer进程执行相关任务了。

2.TimerTask可以通过Consul配置实时更新,通过修改consul中的配置可以在多台SD服务器上实现任务的同步

3.借助Consul实现了leader选举,通过ConsulHelp::isLeader可以得知本机是否是leader。

4.新增Process模块,可以借助此模块快速构建用户进程,默认开启协程和异步模式。并且提供了便捷的进程中RPC的方法。

class MyProcess extends Process
{
    public function start($process)
    {
        parent::start($process);
    }

    public function getData()
    {
        return '123';
    }
}
    /**
     * 测试进程
     */
    public function http_testProcess()
    {
        $result = yield ProcessManager::getInstance()->getRpcCall(MyProcess::class)->getData();
        $this->http_output->end($result);
    }

5.修改并统一了框架中进程间通讯和消息派发的方式,通过EventDispatcher更好的管理消息的派发。

        //监听服务改变
        EventDispatcher::getInstance()->add(ConsulHelp::DISPATCH_KEY, function (Event $event) {
            ConsulHelp::getMessgae($event->data);
        });
        //监听leader改变
        EventDispatcher::getInstance()->add(ConsulHelp::LEADER_KEY, function (Event $event) {
            ConsulHelp::leaderChange($event->data);
        });
开源中国稿源:开源中国 (源链) | 关于 | 阅读提示

本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 综合技术 » SwooleDistributed 2.3.0 版本更新

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录