负载平衡系统将传入的客户端请求分发到计算资源 (如应用程序服务器和数据库)。在每种状况下, 负载平衡服务将处理结果从计算资源附 u返回到相应的客户端。负载平衡器在如下状况下有效:
git
负载平衡器可使用硬件或软件 (如 HAProxy) 来实现, 但相对来讲硬件价格会昂贵一些。
github
为了防止故障, 一般在active-passive和active-active模式下设置多个负载平衡器。
web
4层负载平衡是在传输层上的服务,根据传输层的信息进行请求分发。一般, 这涉及到源、目标 IP 地址和header中的端口, 而不是数据包的具体内容。4层负载平衡向上游服务器转发网络数据包, 执行网络地址转换 (NAT)。
数据库
7层负载平衡是在应用层上决定如何分发请求的。这可能涉及头部、消息和 cookie 的内容。7层负载平衡器终止网络通讯, 读取消息, 进行负载平衡决策, 而后打开与所选服务器的链接。例如, 7 层负载平衡器能够将视频通讯定向到承载视频的服务器, 同时将更敏感的用户计费流量定向到更安全的服务器。后端
尽管在硬件上的性能损耗比较小,但以灵活性为代价, 4 层负载平衡比7层须要更少的时间和计算资源。
缓存
经过水平缩放,负载平衡能够提升性能和可用性。向系统中的单个节点添加资源 (或从中移除资源), 一般涉及将 cpu 或内存增长到一台计算机上叫作垂直扩展,相比使用商业机器进行扩展具备成本效益, 提升可用性。
安全