开发者社区 问答 正文

基础架构


负载均衡采用集群部署,可实现会话同步,以消除服务器单点故障,提升冗余,保证服务的稳定性。阿里云当前提供四层(TCP协议和UDP协议)和七层(HTTP和HTTPS协议)的负载均衡服务。


  • 四层采用开源软件LVS(Linux Virtual Server)+ keepalived的方式实现负载均衡,并根据云计算需求对其进行了个性化定制。

  • 七层采用Tengine实现负载均衡。Tengine是由淘宝网发起的Web服务器项目,它在Nginx的基础上,针对有大访问量的网站需求,添加了很多高级功能和特性。






如下图所示,各个地域的四层负载均衡实际上是由多台LVS机器部署成一个LVS集群来运行的。采用集群部署模式极大地保证了异常情况下负载均衡服务的可用性、稳定性与可扩展性。







LVS集群内的每台LVS都会进行会话,通过组播报文同步到该集群内的其它LVS机器上,从而实现LVS集群内各台机器间的会话同步。如下图所示,当客户端向服务端传输三个数据包后,在LVS1上建立的会话A开始同步到其它LVS机器上。图中实线表示现有的连接,图中虚线表示当LVS1出现故障或进行维护时,这部分流量会走到一台可以正常运行的机器LVS2上。因而负载均衡集群支持热升级,并且在机器故障和集群维护时最大程度对用户透明,不影响用户业务。


注意:对于连接未建立(三次握手未完成),或者已建立连接但未触发会话同步机制,热升级不保证连接不中断,需要依靠客户端重新发起连接。






展开
收起
行者武松 2017-10-17 11:03:04 1748 分享 版权
阿里云 AI 助理回答

阿里云的负载均衡服务(SLB)设计旨在提供高可用性和高性能的流量分发能力,确保应用服务的稳定性和扩展性。您提到的内容准确概述了阿里云负载均衡的工作原理和优势,下面我将对关键点进行补充说明:

四层负载均衡(LVS集群)

  • 技术基础:四层负载均衡利用LVS(Linux Virtual Server)结合keepalived实现。LVS是一个成熟且高性能的开源软件,它通过IP负载均衡技术和基于内容请求分发方法,有效分配TCP/UDP协议的流量到后端服务器。

  • 会话同步:LVS集群内的各节点通过VRRP(Virtual Router Redundancy Protocol)和DR(Direct Routing)或NAT(Network Address Translation)模式工作,并利用组播机制来同步会话信息,确保任何一台LVS故障时,其处理的连接可以被其他健康的LVS接管,从而维持服务连续性。

七层负载均衡(Tengine集群)

  • 技术特色:七层负载均衡采用Tengine,这是在Nginx基础上深度定制的Web服务器,专为大规模网站设计,提供了如动态模块加载、更精细的流量控制、实时日志统计等高级功能,以满足复杂的应用场景需求。

  • 智能路由与优化:Tengine能够根据HTTP/HTTPS请求的内容进行更智能的负载分配,支持URL重写、访问控制、健康检查等特性,进一步提升应用服务的灵活性和用户体验。

高可用性与稳定性

  • 集群部署的优势:通过多台机器组成集群,阿里云负载均衡实现了服务的冗余和故障隔离。即使单个节点发生故障,流量也能无缝切换到其他正常节点,保证业务连续不中断。

  • 热升级与透明维护:负载均衡集群支持在线热升级,意味着可以在不影响现有服务的情况下,对系统进行升级或维护操作。虽然对于未完成的连接或未触发会话同步的数据可能存在中断风险,但整体上大大降低了维护期间的服务风险。

客户端行为与最佳实践

  • 客户端重试逻辑:为了更好地应对网络环境变化或短暂的服务中断,建议应用程序设计时考虑客户端重试机制,当遇到连接失败时自动尝试重新建立连接,以此增强应用的健壮性。

综上所述,阿里云的负载均衡服务通过先进的技术架构和丰富的功能特性,为用户提供了高度可靠、可扩展的流量管理解决方案,是构建高可用互联网服务不可或缺的基础设施之一。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答