内容简介:本次更新的版本是v0.0.5: 1.解决了TCP服务端由于未能发现客户端断开链接,线程不退出,导致机器负载飙高的问题 2.去除了server端非必要的Queue等对象,减少了内存开销 3.客户端支持通过servers参数,指定多个服务...
本次更新的版本是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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。