传统型负载均衡CLB产品架构 您所在的位置:网站首页 lvs模式优缺点 传统型负载均衡CLB产品架构

传统型负载均衡CLB产品架构

2023-08-20 23:24| 来源: 网络整理| 查看: 265

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

负载均衡作为流量转发服务,将来自客户端的请求通过负载均衡集群转发至后端服务器,后端服务器再将响应通过内网返回给负载均衡。

基础架构说明

阿里云当前提供四层和七层的负载均衡服务。

四层采用开源软件LVS(Linux Virtual Server)+ keepalived的方式实现负载均衡,并根据云计算需求对其进行了个性化定制。 七层采用Tengine实现负载均衡。Tengine是由淘宝网发起的Web服务器项目,它在Nginx的基础上,针对有大访问量的网站需求,添加了很多高级功能和特性。Tengine

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

LVS

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

说明 对于连接未建立(三次握手未完成),或者已建立连接但未触发会话同步机制,热升级不保证连接不中断,需要依靠客户端重新发起连接。 LVS 入网流量路径

对于入网流量,CLB会根据用户在控制台或API上配置的转发策略,对来自前端的访问请求进行转发和处理,数据流转如下图所示。

图 1. 入网流量路径 TCP/UDP协议和HTTP/HTTPS协议的流量都需要经过LVS集群进行转发。 LVS集群内的每一台节点服务器均匀地分配海量访问请求,并且每一台节点服务器之间都有会话同步策略,以保证高可用。 如果相应的CLB实例服务端口使用的是四层协议(TCP或UDP),那么LVS集群内每个节点都会根据CLB实例的策略,将其承载的服务请求按策略直接分发到后端ECS服务器。 如果相应的CLB实例服务端口使用的是七层HTTP协议,那么LVS集群内每个节点会先将其承载的服务请求均分到Tengine集群,Tengine集群内的每个节点再根据CLB策略,将服务请求按策略最终分发到后端ECS服务器。 如果相应的CLB实例服务端口使用的是七层HTTPS协议,与上述HTTP处理过程类似,差别是在按策略将服务请求最终分发到后端ECS服务器前,先调用Key Server进行证书验证及数据包加解密等前置操作。 出网流量路径 CLB和后端ECS之间是通过内网进行通信的。 如果ECS仅仅处理来自CLB的请求,可以不购买公网带宽(ECS、公网IP、弹性公网IP、NAT网关等)。 说明 早期创建的一些ECS上直接分配了公网IP(在实例中执行ipconfig命令可以查看公网IP地址),此类ECS如果仅通过CLB对外提供服务,即便在公网接口(网卡)上看到有流量统计,也不会产生ECS的公网费用。 如果需要直接通过后端ECS对外提供服务,或后端ECS有访问外网的需求,那么需要相应的配置或购买ECS、公网IP、弹性公网IP、NAT网关等服务。

ECS的公网流量访问路径如下图所示。

图 2. 出网流量路径

总体原则:流量从哪里进来,就从哪里出去。

通过CLB进入的流量在CLB上限速或计费,仅收取出方向流量费用,入方向流量不收取(在未来可能会改变),CLB到ECS之间是阿里云内网通信,不收取流量费用。 来自弹性公网IP或NAT网关的流量,分别在弹性公网IP或NAT网关上进行限速或计费。如果在购买ECS时选择了公网带宽,限速/计费点在ECS上。 CLB仅提供被动访问公网的能力,即后端ECS只能在收到通过CLB转发来的公网的请求时,才能访问公网回应该请求,如后端ECS希望主动发起公网访问,则需要配置或购买ECS公网带宽、弹性公网IP或NAT网关来实现。 ECS公网带宽(购买ECS时配置)、弹性公网IP、NAT网关均可以实现ECS的双向公网访问(访问或被访问),但没有流量分发和负载均衡的能力。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有