ALB搭建

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字段

开启慢启动

相关推荐
GDAL13 分钟前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js
DCTANT1 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
bcbobo21cn3 小时前
初步了解Linux etc/profile文件
linux·运维·服务器·shell·profile
Absinthe_苦艾酒3 小时前
计算机网络(三)传输层TCP
网络·tcp/ip·计算机网络
wayuncn3 小时前
月付物理服务器租用平台-青蛙云
运维·服务器·服务器租用·服务器托管·物理机租用
望获linux3 小时前
【实时Linux实战系列】CPU 隔离与屏蔽技术
java·linux·运维·服务器·操作系统·开源软件·嵌入式软件
AI、少年郎3 小时前
Oracle 进阶语法实战:从多维分析到数据清洗的深度应用(第四课)
数据库·oracle
0wioiw03 小时前
C#基础(项目结构和编译运行)
linux·运维·服务器
赤橙红的黄3 小时前
自定义线程池-实现任务0丢失的处理策略
数据库·spring
GLAB-Mary4 小时前
AI会取代网络工程师吗?理解AI在网络安全中的角色
网络·人工智能·web安全