Agileutil v0.0.5 发布,轻量级 Python RPC 框架

来源: 投稿
作者: tankli
2021-03-24

本次更新的版本是v0.0.5:

1.解决了TCP服务端由于未能发现客户端断开链接,线程不退出,导致机器负载飙高的问题

2.去除了server端非必要的Queue等对象,减少了内存开销

3.客户端支持通过servers参数,指定多个服务端地址,支持轮询的负载均衡策略和重试机制。

 

指定多个服务端地址

  • 通过servers参数,你也可以创建一个指定多个服务端地址的client对象,默认采用轮询的负载均衡策略,将请求转发到多个server上,如果请求其中一个server出现了失败,那么会自动重试。框架中所有TCP/UDP/HTTP的client都支持servers参数,都可以指定多个服务端地址,参考下面的例子:
from agileutil.rpc.client import TcpRpcClient

c = TcpRpcClient(servers = ['127.0.0.1:9988', '127.0.0.1:9989'])
resp = c.call(func = 'sayHello', args = ('zhangsan'))
print('resp', resp)

注意: 如果通过servers参数指定了多个服务端地址,又同时指定了服务发现的consul地址,那么实际请求的服务端节点是由server参数决定的,所以使用时请注意不要和服务发现同时使用。

详情访问 

https://gitee.com/lycclsltt/agileutil

https://github.com/lycclsltt/agileutil

展开阅读全文
6 收藏
分享
加载中
最新评论 (1)
python终于有rpc了
2021-03-25 06:50
0
回复
举报
更多评论
1 评论
6 收藏
分享
返回顶部
顶部