ALB介绍

服务器端负载均衡SLB(Server Load Balancer)是一种对流量进行按需分发的服务,通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,并且可以消除系统中的单点故障,提升应用系统的可用性。

阿里云负载均衡SLB分为两类:传统型负载均衡CLB和应用型负载均衡ALB。

ALB:专门面向七层,提供超强的业务处理性能。单实例每秒查询数QPS(Query Per Second)可达100万次。同时ALB提供基于内容的高级路由特性,例如基于HTTP报头、Cookie和查询字符串进行转发、重定向和重写等,是阿里云官方云原生Ingress网关。

CLB:支持TCP、UDP、HTTP和HTTPS协议,具备强大的四层处理能力,以及基础的七层处理能力。

ALB与CLB详细对比:

阿里云ALB是后来推出的,有强大的七层处理能力和丰富的路由功能,非常适用于应用访问,所以本文主要讲ALB。

不同于Spring Cloud Load Balancer等业务代码级的负载均衡,阿里云的ALB无代码侵占性,与开发语言/环境无关,与业务更加解耦,这种服务器端的负载均衡应该会越来越流行。

External ALB:

或者叫公网ALB,供外部/公网用户访问,可以设置一些规则,根据不同的规则路由到不同的公网IP。通常对于外部ALB进来的请求都是需要加以安全验证的,比如解析会话token,验证是否拥有接口的相应权限等。

Internal ALB:

或者叫内网ALB,供内网用户/系统间访问,同样可以设置一些规则,根据不同的规则路由到不同的内网IP/服务器组。内部ALB只能内网访问,通常是在一个VPC内部服务器之间调用或内网用户访问系统时使用,对于内部系统间调用时使用内部ALB可以省略验证逻辑以提高访问效率。

搭建ALB

先在VPC(虚拟专有网络,上篇讲过)内部创建一台ECS,用于测试:

1. 创建ECS实例,选择相应的付费方案。

2. 选择地域及可用区,注意地域要与VPC所在地域一直,如杭州;可用区要与交换机所在区一致,如可用区J

3. 选择自己创建的VPC与交换机,CPU/内存/带宽等配额根据实际需求自行配置

4. 如果有自己创建的ECS镜像的话可以基于自定义镜像初始化

5. 配置服务器安全策略

6. 登录ECS,搭建测试环境,部署测试项目

创建Internal ALB实例并测试:

1. 在VPC内创建ALB实例(内网)
2. 配置服务器组
3. 配置健康检查
4. 配置ALB监听、转发规则
5. 配置TLS安全策略
6. ALB监控页面
7. 将自己的内部域名映射到内部ALB
8. 在内网测试ALB路由情况,看看自己配置的监听、轮训规则、请求标头、健康检查等是否生效

创建External ALB实例并测试:

1. 创建公网ALB实例
2. 配置服务器组
3. 配置健康检查
4. 配置ALB监听、转发规则
5. 将自己的公网域名映射到公网ALB
6. 在公网测试ALB路由情况,看看自己配置的监听、轮训规则、请求标头、健康检查等是否生效