开发者社区> 问答> 正文

用负载均衡实现ECS的可用性有哪些?

负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(Elastic Compute Service,简称 ECS)的流量分发控制服务。

应用场景


在以下应用场景中,若您搭配使用SLB,可以极大地提高ECS实例的高可用性。

高访问量的业务


若应用访问量很高,可以通过配置监听规则将流量分发到不同的ECS实例上。此外,您可以使用会话保持功能将同一客户端的请求转发到同一台后端ECS,提高访问效率。

横向扩张系统


根据业务发展需要,通过随时添加和移除ECS实例来扩展应用系统的服务能力,适用于各种Web服务器和App服务器。详情参见 添加后端服务器

消除单点故障


您可以在负载均衡实例下添加多台ECS实例。当其中一部分ECS实例发生故障后,负载均衡会自动屏蔽故障的ECS实例,将请求分发给正常运行的ECS实例,保证应用系统仍能正常工作。

同城容灾 (多可用区容灾)


使用负载均衡时,您可以将负载均衡实例部署在支持多可用区的地域以实现同城容灾。通过该特性可实现当整个机房故障时,负载均衡能在较短时间内,将前端访问流量切换到同一地域下的其它可用区,以恢复服务能力。
[backcolor=transparent]说明:如果您的每个可用区均至少添加了1台ECS实例,那么此种部署模式下的负载均衡服务的效率是最高的。


跨地域容灾


您可以在不同地域下部署负载均衡实例,并分别挂载相应地域内不同可用区的ECS。上层利用云解析做智能DNS,将域名解析到不同地域的负载均衡实例服务地址下,可实现全局负载均衡。当某个地域出现不可用时,暂停对应解析即可实现所有用户访问不受影响。


准备工作


在使用负载均衡前,您需要做好以下准备:

规划负载均衡实例的地域


阿里云提供包括华北、华东、华南、亚太东南、亚太东北、欧洲中部、美国东部、美国西部、香港、中东东部在内的不同地域的负载均衡服务。
[backcolor=transparent]在选择地域时,请注意:


  • 为了减少延迟并提高下载速度,建议选择离您客户最近的地域。

  • 由于负载均衡不支持跨地域部署,因此应选择与后端ECS实例相同的地域(提前规划好部署地域)。


选择负载均衡实例的类型(公网或私网)


根据您的业务类型,确定负载均衡的实例类型。负载均衡实例创建后,系统会根据实例类型分配一个公网服务地址或私网服务地址。

  • 公网负载均衡实例仅提供公网IP,可以通过Internet访问负载均衡服务。
    如果您要创建公网类型的负载均衡实例,还需根据具体业务特点确定计费方式:
    按流量计费:适用于波峰波谷效应明显的业务。

  • 按带宽计费:适用于带宽较为平稳的业务。

私网负载均衡实例仅提供阿里云私网IP,只能通过阿里云内部网络访问该负载均衡服务,无法从Internet访问。私网类型的负载均衡实例不收取费用。

选择监听协议


负载均衡提供4层(TCP协议和UDP协议)和7层(HTTP协议和HTTPS协议)监听。

  • 4层监听将请求直接转发给后端服务器,不会修改标头。客户端请求到达负载均衡监听后,负载均衡服务器会使用监听中配置的后端端口与后端ECS建立TCP连接。

  • 7层监听原理上是反向代理的一种实现。客户端请求到达负载均衡监听后,负载均衡服务器会通过与后端ECS建立TCP连接,即再次通过新TCP连接HTTP协议访问后端,而不是直接转发报文到后端ECS。

由于7层监听比4层监听在底层实现上多了一个Tengine处理环节,因此,7层监听性能没有4层好。此外,客户端端口不足、后端服务器连接过多等场景也可能导致7层服务性能不高,如果您对性能有很高的要求,建议您使用4层监听。

准备后端服务器


您需要在负载均衡实例中添加ECS来处理前端监听转发的请求。在创建负载均衡前,需要创建好ECS实例并部署相关应用。创建ECS时,请注意:

  • ECS实例的地域和可用区
    确保ECS实例的地域和负载均衡实例的地域相同。此外,建议您将ECS部署在不同的可用区内,提高本地可用性。

  • ECS配置
    在ECS上部署好应用后,不需要再进行特别的配置。但如果您要配置一个4层监听(TCP协议或UDP协议),并且ECS使用的是Linux系统,确保net.ipv4.conf文件中的以下3个参数的值为0:
    1. [backcolor=transparent] net[backcolor=transparent] .[backcolor=transparent] ipv4[backcolor=transparent] .[backcolor=transparent] conf[backcolor=transparent] .[backcolor=transparent] default[backcolor=transparent] .[backcolor=transparent] rp_filter [backcolor=transparent] =[backcolor=transparent] [backcolor=transparent] 0
    2. [backcolor=transparent]net[backcolor=transparent].[backcolor=transparent]ipv4[backcolor=transparent].[backcolor=transparent]conf[backcolor=transparent].[backcolor=transparent]all[backcolor=transparent].[backcolor=transparent]rp_filter [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]0
    3. [backcolor=transparent]net[backcolor=transparent].[backcolor=transparent]ipv4[backcolor=transparent].[backcolor=transparent]conf[backcolor=transparent].[backcolor=transparent]eth0[backcolor=transparent].[backcolor=transparent]rp_filter [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]0

  • ECS部署
    目前负载均衡实例后端可配置的ECS数量没有限制。但是,为了保证对外服务的稳定与高效,建议您根据业务分类或应用服务的模块划分,将提供不同服务或执行不同任务的应用服务器ECS添加到不同的负载均衡实例中。


操作步骤


  1. 创建ECS实例。使用负载均衡服务前,您需要至少创建2台ECS实例。详情参见创建ECS实例

  2. 创建ECS实例后,您需要在ECS上部署相关应用。详情参见创建静态页面

  3. 创建负载均衡实例。一个负载均衡实例可以添加多个监听和后端服务器。详情参见创建负载均衡实例

  4. 创建负载均衡实例后,您需要添加至少1个监听和1组后端服务器。详情参见配置负载均衡实例


计费说明


负载均衡支持按流量和固定带宽计费,根据实例类型和性能类型的不同,具体的收费项也不同。详情请 点击这里

展开
收起
boxti 2017-10-17 16:08:41 2465 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
如何运维千台以上游戏云服务器 立即下载
网站/服务器取证 实践与挑战 立即下载
ECS快储存加密技术 立即下载