commit | 8b86353ec310c09ccf907126270cf55825820115 | [log] [tgz] |
---|---|---|
author | 曹祖鹏 <chinalibra@163.com> | Thu Feb 25 17:37:30 2016 +0800 |
committer | 曹祖鹏 <chinalibra@163.com> | Thu Feb 25 17:37:30 2016 +0800 |
tree | f8298062129dac7adc4c1f80139a2b0e3a83adfa | |
parent | b6c23f9ba77702bfdce8ffae4f076dab5cf8086d [diff] |
增加一个自定义的异常,用于jsonrpc传递服务端的异常。 code为-32000,需要服务端的框架修改配合
请使用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,获取服务的注册信息
dubbo-client-py支持配置多个zookeeper服务地址
“host”: “192.168.1.183:2181,192.168.1.184:2181,192.168.1.185:2181”
然后通过代理实现负载均衡算法,调用服务端 支持Version、Group设置
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)
优化性能,将服务上下线的影响降到最小
支持Retry参数
支持权重调用
单元测试覆盖率
MIT License
感谢 @jingpeicomp 同学做小白鼠,目前已经正常运行在生产环境数月,谢谢!