Ribbon的负载均衡策略

我i个人觉得这还是一个比较高频率的面试题。

首先了解Ribbon是基于客户端的负载均衡

在网飞的组件其实就是一个负载均衡的工具,是通过服务名称来

选择对应的服务器名字,这里面涉及了微服务的知识。这里不做过多的赘述

基本来讲分为下面几种:

随机策略:这个其实是一种比较low的我们在开发中不会使用这种方法,因为我们不喜欢把

代码的主动权交到一个随机的事情上面去

轮询策略:这个就是1,2,1,2....之间不断切换的一种方法,没啥大的用处

可用过滤策略:这个就比较牛逼了,他会将不能使用的服务高效剔除(在注册中心选用consul)的情况下,然后再可用的服务之前轮询访问服务,这个就是我们说的保证程序的健壮性

响应时间加权策略:计算出某一个服务响应的平均时间(多个请求),然后按照访问速度的快慢进行一个加权,然后再不断的动态调整

最低并发策略:也就是服务平均的一种方式可以这样理解

 

这几个策略回答上来,面试基本上就稳了。

 后面一年的时间会更新 go ,lua,还有大数据的一些知识,最重要搭建一个分布式的大型项目可商用的那种模式。

上一篇:iOS开发之APP推送设置WIFI


下一篇:ribbon的相关概念