阿里云均衡负载支持跨地域容灾吗?

全网最新活动请看下方内容或右侧内容

技术分析负载均衡7层和4层的区别各自有什么侧重,阿里云slb4层和7层差别。

阿里云slb负载均衡支持四层和七层,对于我们选择适合自己的规格服务来说,这两者的区别我们是有必要做个了解的:

1、阿里云slb四层和七层端口可能不同:

(1)四层和七层可以是相同IP,但端口或监听可能不同,要同时支持TCP和HTTP 就需要使用不同的监听

(2)目前四层和七层SLB返回给客户端的IP均为SLB VIP。

2、负载均衡不同层数负载均衡常识:

二层:基于MAC地址,虚拟MAC地址接收请求,然后再分配到真实的MAC地址;

三层:基于IP地址,虚拟IP地址接收请求,然后再分配到真实的IP地址;

四层:基于IP地址加端口,虚拟IP+端口接收请求,然后再分配到真实的服务器

七层:基于URL,虚拟的URL或主机名接收请求,然后再分配到真实的服务器

根据我们的使用目的来决定用哪个方式:

(1)如果只是想把数据报按照五元组做转发,解析到4层就够了。

(2)但如果想要对七层协议报头做解析,就要解析到七层,分析出HTTP header的内容才行。之所以有四.七层之分,是因为有的请求是要做Session保持的。同一个Client IP要hit到同一个后台RS上,这个可以通过“添加Cookie”的七层SLB算法实现。 

3、负载均衡七层相比四层的优势:

简言之:更智能,但也更复杂。

七层的负载均衡,就是在四层的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。

4、阿里云slb四层和七层两者的性能侧重点:

简言之,四层监听关注的重点是长连接的并发连接数,七层监听关注的重点是QPS的性能

负载均衡技术大多数是用于提高诸如在Web服务器、FTP服务器和其它关键任务服务器上的Internet服务器程序的可用性和可伸缩性,而阿里云的负载均衡SLB服务与传统硬件负载均衡系统高投入相比,成本可下降60%,也受到了大家的关注,在购买前有几点常识需要了解:

1、购买阿里云slb负载均衡前要注意些什么?

阿里云ecs和阿里云slb是配套使用的,所以,我们需要做些规划:

(1)根据您的业务确定负载均衡的监听类型和网络类型等。负载均衡服务规划包括:选择实例地域、选择实例的网络类型(公网或私网)和计费方式、选择实例规格、选择协议类型和准备后端ECS服务器等。

(2)地域选择(和ecs保持一致):在选择地域时,建议选择离您客户最近的地域,建议您选择提供主备可用区的地域。由于负载均衡不支持跨地域部署,因此应选择与后端ECS服务器实例相同的地域。

(3)一对多:一个负载均衡实例可以添加多个监听和后端服务器。

2、阿里云负载均衡有什么作用:

(1)阿里云负载均衡将添加的ECS实例虚拟成一个高性能、高可用的应用服务池,并根据转发规则,将来自客户端的请求分发给云服务器池中的ECS实例。

(2)阿里云负载均衡默认检查云服务器池中的ECS实例的健康状态,自动隔离异常状态的ECS实例,消除了单台ECS实例的单点故障,提高了应用的整体服务能力。此外,负载均衡还具备抗DDoS攻击的能力,增强了应用服务的防护能力。

(3)同城容灾,可用区级的高可用,30秒内实现自动切换

(4)流量分发,对多台云服务器自动进行流量分发,扩展系统服务能力

(5)简明易用,多种付费类型、计费模式与管理方式,可灵活选择和轻松管理

(6)超强性能,推出性能保障型实例,并提供超高性能规格的实例

3、阿里云负载均衡贵不贵?阿里云负载均衡收费方式和价格是怎样的?

(1)阿里云负载均衡(SLB)支持预付费(包年包月)。也支持按量计费,按量计费实例可以随时释放。

(2)阿里云负载均衡作为阿里云平台的重点产品,几乎大中型的促销都会有优惠,比如年中、会员节、双11、年终,都可以多留意一下。

(3)如果您有长期使用负载均衡实例的需求,建议您使用包年包月预付费方式。性能保障型实例规格费按使用量收取,即不论您选择何种规格,实例规格规格费均按照您实际使用的规格收取。

(4)如果后续您不需要负载均衡服务了,为避免不必要的费用计费,可以将其删除。

4、阿里云负载均衡有什么优势?

(1)高可用:采用全冗余设计,无单点,支持同城容灾。搭配DNS可实现跨地域容灾,可用性高达99.95%。根据应用负载进行弹性扩容,在流量波动情况下不中断对外服务。

(2)可扩展:您可以根据业务的需要,随时增加或减少后端服务器的数量,扩展应用的服务能力。

(3)低成本:与传统硬件负载均衡系统高投入相比,成本可下降60%。

(4)安全:结合云盾,可提供5Gbps的防DDOS攻击能力。

5、购买了阿里云ecs还需要购买阿里云slb负载均衡服务吗?

(1)如果只是个人学习测试或小项目,暂时可以不用考虑。如果小项目发展大了或者一开始就规划的是中大型项目,购买多个ecs实例的,那么就需要考虑一下负载均衡了。

(2)负载均衡服务是ECS面向多机方案的一个配套服务,需要同ECS结合使用。

不管是传统物理服务器还是现在流行的云服务器、网络服务器,负载均衡都起着很大的作用。

全局负载均衡主要用于在一个多区域拥有自己服务器的站点,为了使全球用户只以一个IP地址或域名就能访问到离自己最近的服务器,从而获得最快的访问速度,也可用于子公司分散站点分布广的大公司通过Intranet(企业内部互联网)来达到资源统一合理分配的目的。


点击链接加入群【活动专用群】,群号: 


天猫618活动安排日历:把握活动每一天!:


京东618总攻略-情侣小站汇总整理更新


天猫超市优惠券免费领取[实时更新]:


淘宝天猫双十一攻略活动详解!双11活动汇总!:


淘宝双十二攻略有哪些?双12新玩法!:


天猫年货节活动攻略!年货节攻略购物津贴这样用!:


京东双11全球好物节:


京东家电年货节买东西优惠吗?京东年货节总攻略!


阿里云 卫峥在2017杭州云栖大会中做了题为《负载均衡是如何支撑几亿手机微博用户访问的-高性能负载均衡研发和应用实践》的分享,就负载均衡介绍,高性能的负载均衡,高可用的负载均衡 性能保障型实例,微博的应用实践...

摘要: 负载均衡支持对多台ECS进行流量分发,以提升应用系统的服务能力,长期以来都是关键业务系统的入口。淘宝,天猫,阿里云等无不依赖负载均衡产品,双11的流量洪峰也依赖负载均衡的调度和处理能力。

负载均衡支持对多台ECS进行流量分发,以提升应用系统的服务能力,长期以来都是关键业务系统的入口。淘宝,天猫,阿里云等无不依赖负载均衡产品,双11的流量洪峰也依赖负载均衡的调度和处理能力。

负载均衡SLB简单介绍

下图是负载均衡的简单示意图,用户的访问请求经过SLB实例的一个监听(端口),再被转发到后端的ECS上。SLB实例对应一个IP地址,监听就是实例上IP地址的一个端口,流量调度是基于监听(端口)进行的,ECS是真正处理服务请求的。


下图是从流量转发路径来看的负载均衡SLB的架构图,可以称为一个负载均衡SLB的集群,这个集群部署在华东1的两个可用区,每个可用区都部署了LVS集群和Tengine集群,其中LVS集群负责接收所有流量的请求,包括TCP/UDP/HTTP/HTTPS,对于TCP和UDP请求,LVS集群会直接将流量转发到后端ECS,对于HTTP/HTTPS 请求会将流量转发给Tengine集群,再转发到后端ECS上。


负载均衡SLB高可用的四个层次

为了便于理解和说明,可以将负载均衡SLB高可用划分为四个层次,如图上图所示,第1层是应用处理层,即真正处理请求的ECS层。第2层是集群转发层,即在集群转发层面要保证高可用,第3层是跨可用区容灾层,在出现可用区级别的故障时可以切换,第4层是跨地域容灾层,上图未标示。下面分别从这4个层次进行分析和说明。

特别要说明的是,产品设计上SLB会尽可能做到高可用,但如果用户系统没有高可用设计,最终也不可能实现真正的高可用,而且除了负载均衡,还有数据库等的高可用问题,因此产品设计的高可用和用户系统设计高可用必须结合起来。下面4个层次的说明也会分别从产品设计和用户使用两个角度进行分析和解读。

应用处理层是真正处理用户请求的,一般将应用部署在ECS上。

应用处理层的高可用主要有下面两点,一是要保证ECS出现故障时能及时屏蔽,避免将流量转发到故障节点从而影响用户访问,SLB产品是通过健康检查功能实现的。二是SLB实例能够添加多台ECS,特别是可以添加不同可用区的ECS,从而避免一个可用区的ECS均不可用时影响用户访问。这两点目前SLB产品都可以做到。

首先,用户一定要开启并正确配置健康检查。SLB支持TCP/UDP/HTTP/HTTPS 四种协议,其中对TCP协议提供了TCP和HTTP两种健康检查方式,用户可以根据需要选择。对UDP协议,用户可以定义UDP健康检查端口,还可以根据自己定义健康检查请求和返回值来判断健康检查结果。对于HTTP和HTTPS协议,默认使用HTTP健康检查,用户可以定义一个健康检查URL,负载均衡的健康检查模块会通过HTTP HEAD来探测获取状态。关于健康检查详细信息可以参考

其次,用户要考虑到单可用区ECS都不可用的情况,选择多个可用区的ECS添加到负载均衡SLB的实例中。用户可能有疑问,如果一个可用区的ECS不可用了,那这个可用区的负载均衡是不是也会不可用?这个问题在稍后的第三层来说明。

集群转发层指的是负载转发用户请求的SLB集群,包括LVS 集群和Tengine集群,不管是机器故障还是集群升级,都要保障用户请求尽可能不中断,

首先,必须避免单点故障,如果采用传统的主备切换模式一方面在切换的时候可能影响用户请求,另一方面主备切换还是依赖单机的处理能力,无法很好的横向扩充,因此,转发层不管是LVS还是Tengine集群都集群部署,并通过上层交换机的ECMP等价路由还实现用户请求到集群多台机器的流量转发。看上面的架构图可能用户有疑问,TENGINE集群是接在LVS集群后面的,上层交换机的ECMP如何起作用呢?其实LVS集群对Tengine集群也是有健康检查机制的,即如果Tengine集群的机器出现异常,LVS健康检查发现后会将这台异常的Tengine机器从集群中摘除。

其次,在集群中机器出现down机等异常时尽可能不影响用户请求。有了集群部署后,集群中的机器出现软硬件故障还是难以避免的,有可能机器彻底不可用了或者有异常了需要通过运维手段将这台机器从集群中移出并维修,这个时候这台机器上的用户请求要尽可能做到不中断。

SLB集群是通过Session同步来实现集群中有机器故障时尽可能不影响用户请求的。如下图所示,当用户的访问请求经过集群中的一台LVS时,集群会根据预设的规则将Session同步到其它LVS机器,从而实现LVS集群所有机器都有该Session,当如下图中的LVS1机器出现故障或需要维护时,用户请求就会通过其它LVS机器进行流量转发并且用户基本不感知。但是有Session同步不代表就解决了所有问题,Session同步能解决大部分长连接的问题,但是对于短链接,连接未建立(三次握手未完成)或者已建立连接但是还没有触发Session同步规则时,机器故障还是可能会影响用户请求。因此,需要用户的系统和程序进行配合。

从用户使用角度看,一定要在代码中加上相应的重试机制! 这样在上述情况出现时,会进一步降低对用户访问影响。

第三层 跨可用区容灾层

上面说的是在一个可用区内负载均衡转发集群的高可用,跨可用容灾层则要解决的是当一个可用区都不可用时,还能继续使用另外一个可用区的负载均衡继续提供服务。

还是如看SLB架构图,首先,负载均衡集群要实现跨可用区部署。另外,还需要一种机制能及时发现其中某个可用区,如可用区A都出现了故障然后切换到另外一个可用区B继续服务。从技术上讲,使用了路由探测和路由优先级机制来实现,即可用区A的一段地址(对应一批SLB实例1-N)除了在本可用区的集群上配置外,其实底层还在可用区B的集群上也有这段地址(对应一批SLB实例1-N),只不过在正常情况下,由于可用区A的这段地址路由优先级更高,所以流量都从可用区A的集群进行转发,如果路由探测到整个可用区A不可用(路由不可达)或者可用区A的某段地址不可用(路由不可达),则路由到可用区B的集群进行流量转发。

从用户对产品形态的感知上来说,就是主可用区和备可用区,但实例上的这个主备可用区用户选择后就无法更改了,用户也无法自行切换主备关系。也就是说主备可用区是底层的机制,用户一旦选择无法干预了。暴露主备可用区概念的原因一方面希望用户在使用SLB和其它有可用区属性的产品进行组合的时候,能做到按需组合,如ECS可用区,RDS的主备可用区等。另一方面也是希望用户更多认知到产品在高可用方面的价值。不过在实际使用时,用户往往存在误区,这些误区使我们考虑是不是要关闭备可用区概念,只对用户暴露主可用区,后面再来解释这些误区。

回过头来说跨可用区高可用,其实,最理想的情况是一个可用区的一个SLB实例出现异常(路由不可达)时,系统就能够自动切换或者用户能手动切换到另外一个可用区的SLB实例继续服务。但不能这样做的主要原因是需要发布明细路由,即32位路由,而这在云环境中是无法接受的。


首先,跨可用区容灾需要保证一个SLB实例的后端服务器ECS分布在多个可用区,即避免一个可用区不可用时,SLB后端的ECS都无法使用从而影响用户访问,这点在第一层 应用处理层中已经说明了。当然,如果还使用DB等产品,还需要考虑DB的跨可用区容灾问题,用户可以参考DB相关产品的说明。这里主要谈负载均衡本身以及和负载均衡紧密相关的后端服务器ECS的高可用问题。

其次,对于重要的业务,一定要使用至少两个且主可用区不一样的实例来容灾,这点非常重要。如重要的用户注册系统,如下图所示,在华东1的可用区A和可用区B分布部署一个SLB实例,都挂载了两个可用区的相同ECS。

用户可能会有两个疑问,一是负载均衡SLB产品本身有跨可用区切换能力,为什么注册系统还需要自己在两个可用区建立两个实例进行跨可用区容灾呢?负载均衡SLB产品本身的跨可用区切换是在非常极端的情况下(整个可用区不可用/所有LVS集群上的IP无法路由/某个地址段都无法路由)才切换,而对于比如仅一个可用区的Tengine有部分异常、LVS集群有异常但是IP还可以Ping通等相对不那么极端又会影响用户业务的情况下是不起作用的,因此,重要的业务系统非常有必要用户自己在两个可用区建立实例容灾。

二是注册系统使用的两个SLB实例如何调度,用户可以使用云解析将注册系统的域名解析到上面的两个SLB实例,其它的相关域名解析系统也都支持这样的功能。如果是私网SLB实例,阿里云正在研发私网DNS系统,当前用户可以自己构建一个私网DNS系统或者通过程序来实现调度。

再次强调一下重要业务系统用户自行在两个可用区建立实例容灾的必要性。哪怕正常情况下有一个实例就配置好不使用,虽然需要支付每小时2分钱的公网IP费用,但当出现其中一个实例所在集群异常并且恢复时间较长时,用户也可以自行通过修改DNS解析或者程序调用地址来快速恢复业务。

最后,再来说下用户对于主备可用区可能存在的误区

1)认为主备可用区就是只要一个实例有异常了负载均衡就能自动切换到备可用区

2)认为主备可用区切换的异常包括个别实例无法Ping、实例上的服务异常等等很多条件

其实,负载均衡主备可用区切换设计是在极端情况下(整个可用区不可用/所有LVS集群上的IP无法路由/某个地址段都无法路由)才会自动进行的,它既不是某个IP地址无法路由就切换,也不是某个或者某些IP地址可以Ping但这些IP的服务异常就切换。因此,用户系统通过自身在多个可用区建立实例实现跨可用区灾是非常必要的。

最后来说下跨地域容灾层。随着业务的发展,用户对业务系统的高可用要求越来越高,已经不满足于只能做到跨可用区的容灾,用户希望即使某个地域的系统都不可用了,还可用通过其它地域的系统继续提供服务,这就是跨地域容灾。

跨地域容灾是个非常大的课题,不仅仅涉及到网络层面,更涉及到应用系统的改造和适配,数据的同步和一致性等很棘手的问题。这里仅说明下网络层面的跨地域容灾。从产品角度看,跨可用区容灾一般是通过DNS来实现的,如下图所示

传统的如F5的全局负载均衡(以前叫GTM,现在叫BIG-IP DNS)就有比较完善的解决方案,或者一些提供DNS服务的系统也有类似的功能。负载均衡SLB产品本身没有提供这样的能力,跨地域容灾的能力是通过产品来实现的,云解析DNS产品提供了全局负载均衡的能力,还有如健康检查,路由调度优化等功能,可以参考 

另外,对于跨可用区容灾可能需要使用在不同地域间同步数据或者跨地域私网调用,可以使用产品构建不同地域的通信链路

从用户角度看,跨可用区容灾网络层面主要通过云解析DNS产品,对于不同地域间通信可以使用高速通道产品,这两个产品不是本文的重点,可以查看阿里云官网的相关产品文档说明。

我要回帖

更多关于 弹性负载均衡系统支持哪几种协议 的文章

 

随机推荐