负载均衡算法
服务消费者从服务配置中心获取到服务的地址列表后,需要选取其中一台来发起RPC调用。如何选择,则取决于具体的负载均衡算法,对应于不同的场景,选择的负载均衡算法也不同。常见的负载均衡算法包括轮询法、随机法、源地址哈希法、加权轮询法、加权随机法、最小连接法。
1. 轮询法
轮询很容易实现,将请求按顺序轮流分配到后台服务器上,均衡的对待每一台服务器,而不关心服务器实际的连接数和当前的系统负载。使用轮询策略的目的是,希望做到请求转移的绝对均衡,但付出的代价性能也是相当大的。为了保证pos变量的并发互斥,引入了重量级悲观锁synchronized,将会导致该轮询代码的并发吞吐量明显下降。
serverWeightMap = new HashMap
serverWeightMap.put(“192.168.1.100”,1);
serverWeightMap.put(“192.168.1.101”,1);
serverWeightMap.put(“192.168.1.102”,4);
server
负载均衡算法最先出现在Python成神之路。
共有 0 条评论