ALB:
多级分发、消除单点故障提升应用系统的可用性(健康检查)。
海量微服务间的高效API通信。
自带DDoS防护,集成Web应用防火墙
配置:
1.创建ECS实例
2.搭建应用
此处安装的LNMP
3.创建应用型负载均衡ALB实例
需要创建服务关联角色
在创建阿里云应用型负载均衡ALB时,选择至少两个可用区有其特定的优势和必要性,这主要是为了保障业务的高可用性。即便您的后端服务器目前仅部署在一个可用区,选择多个可用区进行ALB的配置仍然是推荐的做法。这样做可以确保在某一个可用区发生故障时,ALB能够自动将流量切换到另一个健康的可用区,从而维持服务的连续性和稳定性。
阅读协议直接开通即可
4.创建服务器组
创建服务器组并添加后端服务器接收应用型负载均衡ALB转发的客户端请求。
调度算法包括:
加权轮询
加权最小连接数
一致性哈希
可以自定义资源组:
高级配置包括:
开启IPv6:选择是否开启IPv6挂载功能,默认关闭。不开启时,服务器组仅支持挂载IPv4类型的后端服务器;开启IPv6挂载功能后,服务器组支持挂载IPv4、IPv6类型的后端服务器。更多配置信息请查阅创建和管理服务器组
会话保持:选择是否开启会话保持功能,默认关闭。不开启时,ALB会将每个客户端请求分别分发到不同的后端服务器;开启会话保持功能后,ALB会把来自同一客户端的访问请求分发到同一台后端服务器。更多信息请查阅配置会话保持
后端长连接:当开启后端长连接后,ALB到后端服务器之间会维持一定数量的TCP长连接,当新请求到达时,如果有空闲的TCP长连接,ALB优先使用TCP长连接转发请求到后端服务器,从而减少TCP握手建连次数,减轻后端服务器压力。更多配置信息请查阅创建和管理服务器组
慢启动:开启慢启动后,ALB向后端服务器线性增加请求,当配置的慢启动持续时间结束后,负载均衡向后端服务器发送完整的请求份额,此后本次添加的后端服务器退出慢启动模式。
连接优雅中断:开启连接优雅中断后,您可以在移除后端服务器或者健康检查失败后,使现有连接在一定时间内正常传输。
健康检查:选择是否开启健康检查,服务器组类型为服务器类型、IP类型,健康检查默认开启。服务器组类型为函数计算类型,健康检查默认关闭。更多配置信息请查阅健康检查
添加后端服务器:
设置80端口 权重默认
配置结束可以看到已添加的后端服务器及对应的端口
5.配置监听
配置监听转发负载均衡请求
在实例下创建监听
下一步选择服务器类型:
数据压缩:开启将对特定文件类型进行压缩;关闭则不会对任何文件类型进行压缩。目前,Brotli支持压缩所有类型,Gzip支持压缩的类型包括:text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml application/atom+xml application/xml application/json。
查找真实客户端源IP:允许ALB从X-Forwarded-For头字段中查找真实客户端IP
设置可信IP列表:与ALB直接建立连接的源IP如在可信IP列表,ALB将通过X-Forward-For字段获取来访者真实IP;可信IP列表设置为0.0.0.0/0
:表示获取X-Forwarded-For请求标头中最左边的地址,即真实客户端源IP
创建成功后:
当后端ECS健康检查状态为正常时表示后端服务器ECS可以正常处理负载均衡实例转发的请求了
6.设置域名解析
添加域名解析并通过域名访问负载均衡服务
复制实例的DNS名称->云解析DNS->添加域名->对已添加的域名进行解析设置->添加记录
可能需要考虑的问题:
用户的真实ip
api日志
X-Forwarded-For头字段可以获取来访者客户端IP地址。
如果经过WAF、CDN、GA等转发,也可以通过X-Forwarded-For字段获取客户端真实IP地址,这些产品默认透传X-Forwarded-For字段
开启慢启动