SLB负载均衡实践
负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(ECS实例)的流量分发控制服务。负载均衡扩展了应用的服务能力,增强了应用的可用性。
负载均衡通过设置虚拟服务地址,将添加的ECS实例虚拟成一个高性能、高可用的应用服务池,并根据转发规则,将来自客户端的请求分发给云服务器池中的ECS实例。
负载均衡默认检查云服务器池中ECS实例的健康状态,自动隔离异常状态的ECS实例,消除了单台ECS实例的单点故障,提高了应用的整体服务能力。此外,负载均衡还具备抗DDoS攻击的能力,增强了应用服务的防护能力。
申请资源
因为要实践负载均衡服务,就需要至少两台后端服务器、一台SLB负载均衡服务器,申请创建了两个ECS服务器、一个SLB服务器。
云服务器状态确认
访问分配到的第一台ECS(http://139.196.206.103)的HTTP服务,显示网页信息为“后端服务器IP:172。16.1.189”,访问分配到的第一台ECS(http://139.196.199.91)的HTTP服务,显示网页信息为“后端服务器IP:172。16.1.188”。
比较两台ECS的访问结果,发现部署的网站内容相同,只是显示的后端服务器IP不同。
负载均衡配置
将两台ECS服务器挂载到负载均衡的后端,这样,用户只需访问一个IP地址或者域名,负载均衡服务器会根据权重自动转发用户请求到相应的后端服务器上。
- 使用实验导航栏给出的云产品资源中的子用户名称和密码登录阿里云管理控制台。
- 点击左边栏中的“负载均衡”,也可以通过搜索该关键词找到入口。点击“实例管理”,选择好实验分配的实例的位置,我这里是“华东2(上海)”。就可以看到下面显示出该实例的信息,分配的IP是47.103.83.28,点击右侧的“点我开始配置”。
-
配置过程
- 协议&监听。选择HTTP协议80端口,高级配置默认;
- 后端服务器。本页面选择监听转发至“默认服务器组”,点击继续添加,在弹出的选择页面勾选实验分配的两台ECS,端口都设置为80;
- 健康检查。本页面选择开启健康检查,按钮为绿色;
- 配置审核。查看配置,无误则提交,就配置成功了;
- 此时,页面将显示一个状态为“运行中”的负载均衡监听实例,后端服务器组已添加完成两台ECS服务器,且 健康检查 的状态为 正常。
负载均衡验证
- 访问负载均衡服务器的80端口,可以发现不同次请求分别显示的页面上后端服务器IP在两台ECS的IP间变化。说明负载均衡起到了作用,结果证明它会将用户的请求发送到后端不同的服务器进行处理。这样,可以减轻单台服务器的负载压力,从而确保业务的持续性。。
- 修改服务器权重,再访问验证。例如将ECS1和2的权重分别设置为30、90,这样访问时1/4的请求被发送到ECS1,3/4的发送到ECS2,使得可以根据服务器性能自主决定,更好地控制,这样可以避免在高并发时,配置较低的服务器因为压力较大服务异常的发生。
- 会话保持功能。在“监听-配置-高级配置”处修改,开启“会话保持”,输入超时时间,例如60(即1分钟)。这样,在用户访问服务时,被分配到某台服务器,再超时时间内,用户的请求都会被转发到这台服务器,时间超出后才会按照权重比例重新分发。
- 健康检查功能。将某台ECS服务器停止运行,可以从负载均衡管理栏的“状态”中查看该服务器“已停止”,所有访问请求都会被转发到剩下的正常运行的ECS上。