负载均衡算法小结

 负载均衡常见算法:

1.轮询法--将请求轮流分配到服务器

 2.加权轮询法


   如weight=3代表连续三个server1,每次选择服务器时,从头部向尾部轮询

3.随机法

4.加权随机法

 

5.源地址哈希法

  得到客户端IP的哈希值,对服务器个数取模,定位具体的服务器,但不足之处是当部分服务器失效或新加入服务器时,客户端定位到的服务器会发生较大变化,会使服务器的缓存失效

6.最小连接数

  将请求分配给当前积压连接数最少的服务器。

7.一致性hash          优点:不会引起剧烈变动

负载均衡实现session共享:数据库,session频繁使用更好放在kv数据库。

DNS负载均衡一个域名对应多个IP地址,DNS按照负载均衡算法将域名解析成其中一个具体的IP地址。(轮询、离用户距离最近)

一致性Hash一种实现方式:

答:将整个哈希值空间组织成一个虚拟的圆环[0-2^32-1],将服务器使用Hash算法映射到哈希环上,将数据使用相同的hash算法映射到哈希环上,从映射位置顺时针遇到的第一台服务器就是数据存储位置

 

   实现:Hash算法:crc32、基于MD5

         数据结构:TreeMap<hash,server>第一个大于数据hash

                      值的对应server就是存储位置。

         解决数据分布不均匀:一个真实服务器对应多个虚拟服务器,虚拟服务器分布在hash环上。



猜你喜欢

转载自blog.csdn.net/gaibian_one/article/details/77950499