python调用dubbo,目前支持dubbo协议,不需要服务端修改成jsonrpc.实现客户端的负载均衡、配合Zookeeper自动发现服务功能等

pydubbo的Python项目详细描述


python调用dubbo,目前支持dubbo协议,不需要服务端修改成jsonrpc.实现客户端的负载均衡、配合Zookeeper自动发现服务功能等 依赖pyhessian,bitstring

示例代码

from pydubbo.pydubbo import DubboZK

if __name__ == '__main__':
    d = DubboZK(interface="com.dianwoba.genius.provider.StaffProvider", hosts='192.168.11.29:2185')
    res = d.findByCode([("Ljava/lang/String;", u"00064")]) #根据返回的方法,动态添加.输入的参数只有一个java string类型
    print(res, res.data)#(<com.dianwoba.dubbo.base.result.ResponseDTO object at 0x1035d2a50>, <com.dianwoba.genius.domain.dto.StaffDTO object at 0x1035d2ad0>)
    res = d.findByMobile([("Ljava/lang/String;", u"18657112153")]) #根据返回的方法,动态添加.输入的参数只有一个java string类型
    print(res.data.name)

具体参照测test目录,目前支持常用的dubbo协议。

1.dubbo协议

1.1 请求头

intbe:16=-9541,intbe:8=-62,intbe:8=0,uintbe:64=0,uintbe:32=数据包长度

总长度16字节。

依次是2字节的magic信息 ,一个字节的附加信息 ,一个字节的空信息,8个字节的空信息,4个字节的数据包长度

1.2 信息体

通过hessian协议序列化的二进制信息

1.3 响应头

intbe:16,intbe:8,intbe:8,uintbe:64,uintbe:32

总长度16个字节

依次是2字节的magic信息 ,一个字节的附加信息 ,一个字节的空信息,8个字节的空信息,4个字节的数据包长度

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java redis。客户。绝地武士。例外情况。JedisConnectionException:连接到redis群集时无法从池中获取资源   java如何正确扩展JHipster用户实体   泛型这个Java语法意味着什么?(`Class<?扩展ContactAccessor>clazz`)   java SecurityException:权限拒绝:读取com。安卓提供者。媒体MediaProvider需要安卓。准许读取外部存储器   recyclerview之间的java交互   带有OnKeyListener的java AutoCompleteTextView   java无法访问类org的成员。springframework。数据jpa。util。带修改器的HibernateProxyDetector   java如何向celltable添加滚动条   java不能用SpringBoot将ArrayList中的2个以上元素保存到MySQL?   java如何传递javagent/path/to/newrelic。运行HiveMetaStore服务器的JVM的jar参数   java使用Oracle的SQL和HQL跨多个表选择单个数据类型   java JDBC:无法创建语句   java JPA注释复合主键,它也是一对多外键   java Jackson强制归零   java有没有一种方法可以使JLabel中的文本在没有html的情况下具有不同的颜色?   java如何在socket io中使用用户名获取用户id   java“适配器”在MVP(被动视图)中的位置?