负载平衡策略是实现负载均衡器的要害,而负载均衡器又是分布式系统中不可或缺的重要组件。应用它有助于进步零碎的整体性能、可用性、可靠性和安全性,同时支持系统的扩大和故障容忍性。对于解决大量申请的应用程序和微服务架构来说,负载均衡器是不可或缺的重要工具。
负载平衡分类
负载平衡分为服务器端负载平衡和客户端负载平衡。
- 服务器端负载平衡指的是寄存在服务器端的负载均衡器,例如 Nginx、HAProxy、F5 等。
-
客户端负载平衡指的是嵌套在客户端的负载均衡器,例如 Ribbon。
常见负载平衡策略
但无论是服务器端负载平衡和客户端负载平衡,它们的负载平衡策略都是雷同的,因为负载平衡策略实质上是一种思维。
常见的负载平衡策略有以下几个:
- 轮询(Round Robin):轮询策略依照程序将每个新的申请分发给后端服务器,顺次循环。这是一种最简略的负载平衡策略,实用于后端服务器的性能相近,且每个申请的解决工夫大致相同的状况。
- 随机抉择(Random):随机抉择策略随机抉择一个后端服务器来解决每个新的申请。这种策略实用于后端服务器性能类似,且每个申请的解决工夫相近的状况,但不保障申请的散发是平均的。
- 起码连贯(Least Connections):起码连贯策略将申请分发给以后连接数起码的后端服务器。这能够确保负载平衡在后端服务器的连贯负载上平衡,但须要保护连贯计数。
- IP 哈希(IP Hash):IP 哈希策略应用客户端的 IP 地址来计算哈希值,而后将申请发送到与哈希值对应的后端服务器。这种策略可用于确保来自同一客户端的申请都被发送到同一台后端服务器,实用于须要会话放弃的状况。
- 加权轮询(Weighted Round Robin):加权轮询策略给每个后端服务器调配一个权重值,而后依照权重值比例来散发申请。这能够用来解决后端服务器性能不平衡的状况,将更多的申请分发给性能更高的服务器。
- 加权随机抉择(Weighted Random):加权随机抉择策略与加权轮询相似,然而依照权重值来随机抉择后端服务器。这也能够用来解决后端服务器性能不平衡的状况,然而散发更随机。
-
最短响应工夫(Least Response Time):最短响应工夫策略会测量每个后端服务器的响应工夫,并将申请发送到响应工夫最短的服务器。这种策略能够确保客户端取得最快的响应,实用于要求低提早的利用。
小结
负载平衡分为服务器端负载平衡和客户端负载平衡,但无了是那种负载均衡器,它的罕用策略都是一样的,有轮询、随机抉择、起码连贯 IP 哈希、加权轮询、加权随机和最短响应工夫。
本文已收录到我的面试小站 www.javacn.site,其中蕴含的内容有:Redis、JVM、并发、并发、MySQL、Spring、Spring MVC、Spring Boot、Spring Cloud、MyBatis、设计模式、音讯队列等模块。