关于php swoole请求dubbo的案例实在太少,长连接的案例更少,或者实现方式个人不是很喜欢,所以查阅了下资料,写了一个swoole下长连接请求dubbo的案
!> 写着写着感觉要成服务发现了
已实现,
todo: 后续应该需要的实现的
考虑zookeeper->watch() 实时更新节点 动态调用zookeeper进程更新节点
已实现
后续完善基本是需要使用到异步客户端的,时间有限
todo
心跳 释放 重连
已实现
// $service 为dubbo服务昵称 config/duboo.php,projects下键值
$data = swoole_client_duboo()->$service($params)
install
composer require zhaqq/fast-dubbo
- 配置
cp vendor/zhaqq/fast-dubbo/src/Config/dubbo.php Config/dubbo.php
vim config/app.php
'services' => [
\FastD\ServiceProvider\CacheServiceProvider::class,
\FastD\ServiceProvider\LoggerServiceProvider::class,
\FastD\ServiceProvider\RouteServiceProvider::class,
// add Dubbo
\Zhaqq\FastDubbo\Providers\DubboServiceProvider::class,
],
vim config/Server.php
'processes' => [
// add
Zhaqq\FastDubbo\Process\StorageProcess::class
],
- usage
// use for helpers
$data = swoole_invoke_to_json($provider_name, $params);
// or
$data = swoole_client_duboo()->$provider_name($params);
return \Zhaqq\FastDubbo\Tools\Json::decode($data);
// or
$data = swoole_client_duboo()->invoke($provider_name, $params);
return \Zhaqq\FastDubbo\Tools\Json::decode($data);
require __DIR__ . '/vendor/autoload.php';
// todo