阿里云SLB服务介绍

发布时间:2017-07-13 20:12:45

1.SLB服务介绍

        随着用户弹性计算平台的应用增加,随着访问量得增加,当一台服务器的性能不能满足要求时,需要同时用几台服务器提供服务,便需要负载均衡。负载均衡分为硬件负载均衡和软件负载均衡。硬件负载均衡主要通过硬件设备来实现,如F5来完成,但是缺点是F5价格昂贵,同时F5自己也有性能瓶颈,当达到F5的性能上限后需要购买更多的设备。在研究了服务器负载的特点后,阿里云开发了SLB(Software Load Balance)这一基于弹性计算平台的一项软件负载均衡服务,通过软件来实现负载平衡的几大需求。SLB以VIP的方式实现负载均衡,并提供Rest API的方式提供给用户调用。采用SLB将很大程度减少负载均衡的成本。

2 .名词解释

VM:Virtual Machine,虚拟机,通过物理服务器,采用虚拟化技术虚拟出来的计算机,SLB基于弹性平台虚拟机实现;
SLB:Software Load Balance,既软件负载均衡。
LVS:Linux Virtual Server,linux虚拟机,提供4层负载均衡服务;
Keepalived:一个具有交换机制的软件,可以检测服务器状态,避免将任务分配到不可用服务器上。
HAproxy:高可用代理服务器,七层负载均衡服务;
VIP:Virtual IP,是一个公网IP+Port,绑定到LVS上实现四层转发功能;
RS POOL:Real Server Pool,真正用来提供计算的后端服务器集群池,负载均衡器会将任务按照一定的规则分配给其中的一台或几台服务器计算。

3 .架构

  对于HTTP服务而言,请求不仅仅通过LVS进行转发,而是在LVS和Web Server之间增加一层HAProxy转发服务。HAProxy作为应用层的负载平衡服务,在收到LVS转发的连接后,对HTTP头进行分析,根据URL转发到相应的后端Web Server去。

4 .基本功能

  对于最终用户来说,负载均衡只是一个服务,可以做的操作有:
1. 创建负载均衡服务;
2. 开启、关闭负载均衡服务;

5 .实例解析

5.1 用户创建LB服务
场景描述
  假设用户要对外提供一项Web服务,已经申请域名www.a.com,为了保证服务质量,想用5台Server做后端服务器。
 步骤
1. 在弹性计算平台申请5台VM;
2. 选中这5台VM创建负载均衡服务,需要提供web应用所对应的域名及端口号;
3. 开启负载均衡服务;
5.2  开启HTTP负载均衡服务实例
接收到用户创建LB服务的请求后,需要调用SLB的一系列API接口来完成这项操作。API接口调用顺序及规则为:
1查询平台现有LB实例。一个LVS对应一组Haproxy为一个LB实例,现在版本初始化了2个实例;
2查询可用IP列表;平台划分了专门的IP为负载均衡服务,可以查询到空闲的IP地址,并将其返给用户;
3. 创建Dispatcher需要指定dispatcher名称,第二步查询到的公网IP,所使用的协议http or tcp,四层协议所使用的端口,http一般为80;
4. 创建RS Pool:指定RS Pool名称
5. 将用户指定的server加入到RS Pool中
6. 往dispatcher中添加规则:主要是绑定web域名对应的RS Pool
7. 开启负载均衡服务:将Dispatcher中的规则设置为Actice便开启了负载均衡服务。