zhaqq / fast-dubbo
There is no license information available for the latest version (v0.2.0) of this package.
v0.2.0
2019-01-22 02:15 UTC
Requires
- php: >=7.1
- ext-json: *
- fastd/fastd: ^3.1
- icecave/flax: 0.1.*
- predis/predis: ^1.1
Requires (Dev)
- liron-li/php-zookeeper-ide-helper: ^0.1.0
- phpunit/phpunit: ^5.0
README
关于php swoole请求dubbo的案例实在太少,长连接的案例更少,或者实现方式个人不是很喜欢,所以查阅了下资料,写了一个swoole下长连接请求dubbo的案
!> 写着写着感觉要成服务发现了
功能
1. zookeeper 定时缓存进程
已实现,
todo: 后续应该需要的实现的
考虑zookeeper->watch() 实时更新节点 动态调用zookeeper进程更新节点
2. swoole_client 同步客户端
已实现
3. swoole_client 异步客户端
后续完善基本是需要使用到异步客户端的,时间有限
todo
心跳 释放 重连
4. rpc 请求方式
已实现
// $service 为dubbo服务昵称 config/duboo.php,projects下键值 $data = swoole_client_duboo()->$service($params)
使用
install
composer require zhaqq/fast-dubbo
usage FastD
- 配置
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);
other
require __DIR__ . '/vendor/autoload.php'; // todo