Python Dubbo Client
Project description
Python Dubbo Client
=====================================
实现客户端的负载均衡、配合Zookeeper自动发现服务功能
-------------------------------------
### Python调用Dubbo接口的jsonrpc协议
请使用dubbo-rpc-jsonrpc 并在dubbo中配置protocol为jsonrpc协议
参考 https://github.com/ofpay/dubbo-rpc-jsonrpc
### 安装
下载代码
python setup.py install
pip安装
pip install dubbo-client==1.0.0b5
Git安装
pip install git+http://git.dev.qianmi.com/tda/dubbo-client-py.git@1.0.0b5
或者
pip install git+https://github.com/ofpay/dubbo-client-py.git@1.0.0b5
### 在客户端实现负载均衡,服务发现
通过注册中心的zookeeper,获取服务的注册信息
然后通过代理实现负载均衡算法,调用服务端
支持Version、Group设置
### Example
```python
config = ApplicationConfig('test_rpclib')
service_interface = 'com.ofpay.demo.api.UserProvider'
#registry包含了和zookeeper的连接,该对象需要缓存
registry = ZookeeperRegistry('192.168.59.103:2181', config)
user_provider = DubboClient(service_interface, registry, version='1.0')
for i in range(1000):
try:
print user_provider.getUser('A003')
print user_provider.queryUser(
{u'age': 18, u'time': 1428463514153, u'sex': u'MAN', u'id': u'A003', u'name': u'zhangsan'})
print user_provider.queryAll()
print user_provider.isLimit('MAN', 'Joe')
print user_provider('getUser', 'A005')
except DubboClientError, client_error:
print client_error
time.sleep(5)
```
### TODO
优化性能,将服务上下线的影响降到最小
支持Retry参数
支持权重调用
单元测试覆盖率
### Licenses
MIT License
=====================================
实现客户端的负载均衡、配合Zookeeper自动发现服务功能
-------------------------------------
### Python调用Dubbo接口的jsonrpc协议
请使用dubbo-rpc-jsonrpc 并在dubbo中配置protocol为jsonrpc协议
参考 https://github.com/ofpay/dubbo-rpc-jsonrpc
### 安装
下载代码
python setup.py install
pip安装
pip install dubbo-client==1.0.0b5
Git安装
pip install git+http://git.dev.qianmi.com/tda/dubbo-client-py.git@1.0.0b5
或者
pip install git+https://github.com/ofpay/dubbo-client-py.git@1.0.0b5
### 在客户端实现负载均衡,服务发现
通过注册中心的zookeeper,获取服务的注册信息
然后通过代理实现负载均衡算法,调用服务端
支持Version、Group设置
### Example
```python
config = ApplicationConfig('test_rpclib')
service_interface = 'com.ofpay.demo.api.UserProvider'
#registry包含了和zookeeper的连接,该对象需要缓存
registry = ZookeeperRegistry('192.168.59.103:2181', config)
user_provider = DubboClient(service_interface, registry, version='1.0')
for i in range(1000):
try:
print user_provider.getUser('A003')
print user_provider.queryUser(
{u'age': 18, u'time': 1428463514153, u'sex': u'MAN', u'id': u'A003', u'name': u'zhangsan'})
print user_provider.queryAll()
print user_provider.isLimit('MAN', 'Joe')
print user_provider('getUser', 'A005')
except DubboClientError, client_error:
print client_error
time.sleep(5)
```
### TODO
优化性能,将服务上下线的影响降到最小
支持Retry参数
支持权重调用
单元测试覆盖率
### Licenses
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dubbo-client-1.0.0b5.tar.gz
(9.4 kB
view details)
File details
Details for the file dubbo-client-1.0.0b5.tar.gz
.
File metadata
- Download URL: dubbo-client-1.0.0b5.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 452d8a7ad57bf131fc98d252173230d5cf6506bb576acb09d06fd1e9120494e8 |
|
MD5 | e12906596ca52cee68e3ada4ca14ea75 |
|
BLAKE2b-256 | fea63acfcec72de171a56ebc3beee796da5d7848d5a93c63eaa8eb957abf4371 |