简评)如果不想看文字的话,文章里的图像非常清晰易懂。
负载平衡是高可用性网络基础架构的重要组成部分。 这被理解为流量分散的硬件。
通常用于将工作负载分布在多台服务器上,以提高网站、APP、数据库或其他服务的性能和可靠性。
无负载均衡的web体系结构如下所示:
无负载平衡框架
如果用户直接连接到web服务器,并且此服务器出现故障,则用户当然也无法访问。
另外,同时有很多用户同时访问服务器时,例如双十一如果超过了可以处理的极限,加载速度会变慢,或者完全无法连接。
通过在后端部署负载平衡器和至少一个附加web服务,可以缓解这一故障。 但是,后端服务器必须提供一致的内容。 为了保证数据同步,这里就不提了。
负载平衡体系结构
如上图所示,用户通过负载平衡器访问后端服务器。 但是单点故障依然存在,只是转移到了负载平衡器上。 解决办法是引入和缓解第二个负载平衡器,但在讨论之前要研究负载平衡器的工作原理。
负载均衡器可以处理什么请求?
负载平衡器管理员可以设置四种主要类型的请求传输规则: HTTP、HTTPS、TCP和UDP。
这些传输规则定义了负载平衡器本身的协议和端口,并映射到负载平衡器用于将通信路由到后端服务器的协议和端口。
负载均衡器如何选择转发到哪台服务器?
负载平衡器通常基于两个因素来决定将请求传输到哪个服务器。
1 .健康诊断
因为负载平衡器只需要选择能够正常响应的后端服务器,所以需要确定后端服务器是否“正常”的方法。
运行状况检查会定期连接到后端服务,以监视后台服务的运行状况。 如果服务未通过健康检查,则该服务将从池中排除,除非该服务再次通过健康检查。
2 .负载平衡算法
负载均衡决定了算法将流量传输到哪个健康的服务器。 常用的算法包括:
Round Robin :轮询:在“第一个请求”列表中选择第一个服务器,然后将列表向下移动到最后并循环。 Least Connections :优先选择连接最少的服务器,一般会话较长时推荐。 源—选择要基于请求的IP的哈希传输的服务器。 这在一定程度上保证了特定用户可以连接到同一服务器。 要解决
冗余负载均衡器
负载平衡单点故障,请执行以下操作:
要将负载平衡器作为单点删除,请将两个负载平衡合并为一个集群,并在负载平衡之间相互监视健康状况。 每个负载平衡都有相同的故障检测和恢复功能。
负载平衡群集
如果主负载平衡器发生故障,则需要更高的DNS来将通信迁移到第二个负载平衡。 这还会增加DNS的负担。 解决方法是使用浮动IP和常见的虚拟IP等灵活的IP地址进行重新映射。 现在,域名可以连接到相同的IP地址。
这就是使用浮动IP的高可用性基础架构的外观。
这篇文章的翻译来源:
3559 www.digital ocean.com /社区/教程/负载平衡