负载均衡服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器资源虚拟成一个高性能、高可用的应用服务池;再根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。
负载均衡集群模块
如上图所示,整个负载均衡系统由3部分构成:四层负载均衡,七层负载均衡和控制系统。
- 四层负载均衡:采用开源软件LVS(linux virtual server),并根据云计算需求对其进行了定制化;
- 七层负载均衡,采用开源软件Tengine,该技术已经在阿里巴巴内部业务全面上线应用4年多;
- 控制系统:用于配置和监控负载均衡系统;
以下将会详细阐述四层负载均衡的技术实现,着重介绍四层负载均衡的集群部署、会话同步功能及优势。
LVS集群部署具体机制
如下图所示,各个Region的四层负载均衡实际上是由多台LVS机器部署成一个LVS集群来运行的,采用集群部署模式极大的保证了异常情况下负载均衡服务的可用性、稳定性与可扩展性。
如何选择用哪台LVS服务?
LVS集群和上联交换机间运行OSPF协议,上联交换机通过ECMP等价路由,将数据流分发给LVS集群,LVS集群再转发给后端ECS服务器。
一台LVS服务器宕机了怎么办?
LVS和交换机间运行OSPF心跳,1个VIP配置在集群的所有LVS上,当一台LVS宕机时,交换机会自动发现并将其从ECMP等价路由中剔除,同时一个访问请求经过一台LVS时,这个会话会被同步到集群所有LVS机器,保证在一台LVS 宕机时连接不中断。
遇到超大流量的负载均衡实例怎么办?
当前一个集群一般能支撑30G流量,一般情况下不会有这么大流量的负载均衡实例,如有,LVS集群也可以进行水平扩容。
LVS集群内部会话同步具体机制
LVS集群内的每台LVS上都会话都会通过组播报文同步到该集群内的其他LVS机器上,从而实现LVS集群内部各台机器间的会话同步。如上图所示,在LVS1上面建立的会话A,会同步到其他LVS机器上,图中实线表示现有的连接,图中虚线表示当LVS1出现故障或进行维护时,这部分流量会走到一台可以正常运行的机器LVS2上,这能够保证负载均衡集群支持热升级,任何机器故障和集群维护都对用户透明,不影响用户业务。
功能优势
由本章介绍的集群部署和会话同步,结合负载均衡服务之前的各项功能,其实该服务目前已具备大量功能优势,能够真正做到各个层面上的高可用:
负载均衡服务提供后端ECS的健康检查
,可自动屏蔽后端服务器;
负载均衡服务采用集群部署,可用消除Real Server层面上的单点;
负载均衡服务支持会话同步,可实现热升级,机器故障和集群升级再也不影响用户,对用户透明;
负载均衡服务在大多数地域(Region)下部署两个可用区,一个可用区出现故障可自动切换到另一个可用区,实现同城双A
;
负载均衡服务结合云解析更可实现跨地域容灾
。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。