Chinaunix首页 | 论坛 | 博客
  • 博客访问: 309197
  • 博文数量: 33
  • 博客积分: 586
  • 博客等级: 中士
  • 技术积分: 494
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-27 14:05
个人简介

衡铁刚 1)2011-2013:Alibaba MySQL DBA 2)2014-至今: Alibaba 数据库PD

文章分类

全部博文(33)

文章存档

2016年(1)

2015年(10)

2013年(5)

2012年(17)

我的朋友

分类: 云计算

2015-08-10 15:08:06

负载均衡(Server Load Balancer,简称SLB)是对多台云服务器进行流量分发的负载均衡服务。
1)通过流量分发扩展应用系统对外的服务能力
2)通过消除单点故障提升应用系统的可用性

从SLB官网扣了一张SLB产品架构图

1)LoadBalancer代表一个SLB实例
2)Listener代表用户定制的负载均衡策略和转发规则
3)BackendServer是后端的一组ECS。
来自外部的访问请求,通过SLB实例并根据相关的策略和转发规则分发到后端ECS进行处理。

SLB服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(Elastic Compute Service,简称ECS)资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。
1)提供公网和私网2种类型
2)提供4层(TCP协议)和7层(HTTP和HTTPS协议)

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

SLB 3个重要特性
1.健康检查:

用户开启健康检查功能后,当后端某个ECS健康检查出现问题时会将请求转发到其他健康检查正常的ECS上,而当该ECS恢复正常运行时,SLB会将其自动恢复到对外或对内的服务中。
1)针对7层(HTTP协议)服务,SLB系统的健康检查机制为:默认由SLB系统通过后端ECS内网IP地址来向该服务器应用服务器配置的缺省首页发起http head请求(缺省通过在服务监听配置中指定的后端ECS端口进行访问),返回200 OK后将视为后端ECS运行正常,否则视为后端ECS运行异常。如果用户用来进行健康检查的页面并不是应用服务器的缺省首页,那么需要用户指定相应的URI。如果用户对http head请求限定了host字段的参数,那么需要用户指定相应的URL。用户也可以通过设定健康检查的频率、健康阈值和不健康阈值来更好的控制健康检查功能。

2)针对4层(TCP协议)服务,SLB系统的健康检查机制为:默认由SLB系统通过在服务监听配置中指定的后端ECS端口发起访问请求,如果端口访问正常则视为后端ECS运行正常,否则视为后端ECS运行异常。

2.会话保持:
用户开启会话保持功能后,SLB会把来自同一客户端的访问请求分发到同一台后端ECS上进行处理。 
针对7层(HTTP协议)服务,SLB系统是基于cookie的会话保持,SLB系统提供了两种cookie处理方式:
1)cookie植入,表示直接由SLB系统来分配和管理对客户端进行的cookie植入操作,用户在进行配置时需要指定会话保持的超时时间;
2)cookie重写,表示SLB系统会根据用户自定义cookie名称来分配和管理对客户端进行的cookie植入操作,便于用户识别和区分自定义的cookie名称,从而有选择的针对后端应用服务器上的不同应用设定会话保持规则,用户在进行配置时需要指定相应的cookie名称。

针对4层(TCP协议)服务,SLB系统是基于IP地址的会话保持。SLB会来自将同一IP地址的访问请求转发到同一台后端云服务器进行处理。

转发规则:
SLB支持轮询和最小连接数2种模式的转发规则。
1)轮询模式,会将外部和内部的访问请求依序分发给后端ECS进行处理
2)最小连接数模式,会将外部和内部的访问请求分发给当前连接数最小的一台后端ECS进行处理
阅读(5176) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~