首页 > 编程知识 正文

负载均衡怎么做(谁会彻底真了解我)

时间:2023-05-05 23:59:47 阅读:88518 作者:2055

负载均衡是高可用性网络基础架构的重要组成部分,在有负载均衡的情况下,通常部署多台APP服务器,通过负载均衡将用户的请求分散到不同的服务器上,从而创建网站、APP、数据库或其他服务器

让我们来看看没有

为什么要引入负载均衡

负载平衡机制的web体系结构:

上图的结构有什么缺陷吗? 首先,用户通过互联网直接连接到web服务器。 请想象一下,如果此服务器锁定,您将无法响应用户的请求,无法访问该网站。 这是有名的单点故障问题,这是绝对不行的。 一般来说,商业网站的可靠性至少需要达到4个9,即99.99以上。

其次,即使服务器正常运行,如果很多用户在同一时间访问服务器,超过服务器的处理能力,响应速度也会变慢,或者无法连接。 这也不能被用户接受。

负载均衡的出现可以很好地解决上面两个问题,引入一个负载均衡器和至少两个web服务器,可以有效地解决上面两个问题。 注:通常,所有后端服务都保证提供相同的内容,从而确保用户无论从哪个服务接收到一致的内容。

如上图所示,即使APP 01当前挂起,负载平衡也会将用户的请求转发给正常工作的APP 02。 这将解决上述第一个问题。 其次,可以根据业务需求轻松扩展负载平衡后端的App,从而解决上述第二个问题。 但是,现在单点故障的问题转移到负载平衡器上,通过引入第二个负载平衡器可以缓解。

负载均衡如何选择要转发的后端服务器

负载平衡器通常基于两个因素来决定将请求传输到哪个服务器。

1 )验证选定的后端服务器是否正常工作,以满足用户的要求

2 )基于预先设定的负载均衡算法,从健康服务器的池中进行选择。

因为负载平衡器只需要选择能够正常响应的后端服务器,所以需要一种机制来确定连接的后端服务器是否正常工作。 为了监视后台服务器的运行状况,运行状况检查服务定期尝试使用传输规则中定义的协议和端口连接到后端服务器。 如果一台服务器未通过健康检查,它将被排除在健康池之外,并且在再次通过健康检查之前不会将通信转发到该服务器。

负载均衡算法

负载平衡算法决定了选择后端的哪个健康服务器。 以下是几种常用的算法。 这里只简单介绍一下,不具体讨论那个算法实现了。 后面专门用一篇文章总结:

轮询—为第一个请求选择帮助池中的第一个后端服务器,然后依次向后选择以循环到最后。

最小连接:优先选择连接数最少或压力最小的后端服务器。 如果会话很长,请考虑这个方法。

哈希:根据请求方IP的哈希(hash )选择要传输的服务器。 这在一定程度上保证了特定用户可以连接到同一服务器。 如果APP需要处理状态,并且需要允许用户连接到与以前相同的服务器,请考虑使用这种方法。

最后,要解决负载平衡器单点故障的问题,请首先连接第二个负载平衡器以形成集群。 如下图所示。

如果主负载平衡器出现故障,则必须将用户请求传输到第二个负载平衡器。 由于DNS更改通常需要很长的时间才能生效,因此需要灵活地解决IP地址重新映射的方法,如浮动IP(floatingIP )。 这样,域名将保持与同一IP关联,IP本身可以在服务器之间移动。 以下是使用浮动IP的负载平衡体系结构的动态示意图。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。