本博客以深入理解Spring Cloud与实战[方剑/编著]一书进行学习和理解
如有侵权,请联系作者
-
什么是负载均衡
是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载
-
为什么要使用负载均衡
以达到最优化资源使用、最大化吞吐率、最小化响应时间,同时避免出现过载的目的。
-
如何实现负载均衡
- 随机(Random)算法:在实例列表中随机选择某个实例
- 轮询(RoundRobin)算法:按顺序选择实例
- 最少连接数(Least Connections)算法:每次取连接数最少的实例
- 一致性哈希(Consistent Hashing)算法:基于一致性哈希算法总是将相同参数的请求落在同一个实例上
- 权重随机(Weigthd Random):随机取一个数,根据这个数属于哪个范围选择对应的实例
负载均衡
一、自定义负载均衡【基于OpenFeign】
OpenFeign只是一种Rest客户端,本身不具备任何的负载均衡操作。 OpenFeign底层调用的还是Netflix Ribbon负载均衡组件。
实现
@Configuration
// name为服务名
@RibbonClient(name = "my-provider", configuration = MyLoadBalanceConfiguration.class)
public class MyLoadBalanceConfiguration {
@Bean
public IRule ribbonRule() {
return new RandomRule(); // 采用随机策略
}
}
不同的情况返回不同的策略即可,或者返回自定义策略,就是这么简单
相关文章
暂无评论...