RPC的负载均衡策略

注:本文非原创属转载

抽空自己写了个简易版的rpc框架,想了下怎么搞负载均衡, 最简单的方式就是搞个配置文件放置服务地址,直接读配置文件,转而想到配置文件可以放zk,相当于用zk来做配置中心或者服务发现。 优秀的dubbo项目就可以这么做,马上参考了下谷歌的grpc,发现了一篇谷歌很棒的文章,拜读了下(也借用了谷歌这篇文章的图片),很不错,想写一些我自己的见解。

传送门: https://grpc.io/blog/loadbalancing/

rpc通信本身并不复杂,只要定好协议怎么处理问题不大,但是负载均衡的策略是值得推敲的。

一般情况下,负载均衡的策略有以下两种

1. 代理服务

客户端并不知道服务端的存在,它所有的请求都打到代理服务,由代理服务去分发到服务端,并且实现公平的负载算法。 客户机可能不可信,这种情况通过用户面向用户的服务,类似于我们的nginx将请求分发到后端机器。

缺点: 客户端不知道后端的存在,且客户端不可信,延迟会更高且代理服务会影响服务本身的吞吐量

优点: 在中间层做监控等拦截操作特别棒。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值