ECS+SLB(负载均衡)介绍及其实践

为什么要用负载均衡

随着如今大流量应用越来越多,单一的服务器早已经不能满足需求了。这就需要一个服务器集群来面对这种大流量的情况。

那么问题来了,多台服务器如何去均衡流量,如何组成高性能的集群呢?这时候就要用到负载均衡器(Load Balancer)了。

负载均衡(Load Balancer)是指把用户访问的流量,通过「负载均衡器」,根据某种转发的策略,均匀的分发到后端多台服务器上,后端的服务器可以独立的响应和处理请求,从而实现分散负载的效果。负载均衡技术提高了系统的服务能力,增强了应用的可用性。

阿里云的负载均衡

我们可以通过阿里云提供的负载均衡解决方案快速实现。阿里云的负载均衡有以下优势。

  • 高可用

采用全冗余设计,无单点,支持同城容灾。搭配DNS可实现跨地域容灾,可用性高达99.95%。

根据应用负载进行弹性扩容,在流量波动情况下不中断对外服务。

  • 可扩展

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

  • 低成本

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

  • 安全

结合云盾,可提供5Gbps的防DDOS攻击能力。

负载均衡的架构

负载均衡服务主要有三个核心概念:

  • 负载均衡实例 (Server Load Balancer instances)

一个负载均衡实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。要使用负载均衡服务,您必须创建一个负载均衡实例,并至少添加一个监听和两台ECS实例。

  • 监听 (Listeners)

监听用来检查客户端请求并将请求转发给后端服务器。监听也会对后端服务器进行健康检查。

  • 后端服务器(Backend Servers)

一组接收前端请求的ECS实例。您可以单独添加ECS实例到服务器池,也可以通过虚拟服务器组或主备服务器组来批量添加和管理。

ECS+SLB(负载均衡)介绍及其实践

特点

1)负载均衡服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(Elastic Compute Service,简称ECS)资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。

2)负载均衡服务会检查云服务器池中ECS的健康状态,自动隔离异常状态的ECS,从而解决了单台ECS的单点问题,同时提高了应用的整体服务能力。在标准的负载均衡功能之外,负载均衡服务还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务器的防护能力。

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

配置与验证

阿里云的负载均衡配置简单,易用。有很好的新手引导,当我们通过负载均衡业务配置向导配置好负载均衡业务后。我们需要注意以下几个点。

  • 服务器的权重。我们可以通过配置不同后端服务器的权重,将用户的请求按比例分发到不同后端服务器。

ECS+SLB(负载均衡)介绍及其实践

  • 我们还可以修改高级监听配置,开启会话保持,并输入响应的时间后。

ECS+SLB(负载均衡)介绍及其实践

在一台后端服务器开启会话请求时,请求在会话开启的时间内只会分发到这一台服务器。

  • 当某一台 ECS 出现异常后,负载均衡会自动将请求发送到健康检查状态正常的 ECS 上。这是因为负载均衡默认检查云服务器池中ECS实例的健康状态,自动隔离异常状态的ECS实例,消除了单台ECS实例的单点故障,提高了应用的整体服务能力。

同样我们也可以简单的通过停止某台后端ECS服务器来验证负载均衡的安全性检查。

上一篇:在Docker中运行SQLServer ASP.NET应用


下一篇:Docker Swarm运行Spring Cloud应用(一):部署