- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
-
API参考
- 使用前必读
- API概览
- 如何调用API
- API(V3)
- API(V2)
- API(OpenStack API)
- 应用示例
- 权限和授权项
- 附录
- 历史API
- 级联删除功能说明
- SDK参考
- 常见问题
- 视频帮助
- 产品术语
-
更多文档
- 用户指南(阿布扎比区域)
- API参考(阿布扎比区域)
-
用户指南 (巴黎区域)
- 产品介绍
- 快速入门
- 负载均衡器
- 监听器
- HTTP/HTTPS监听器高级配置
- 后端服务器组
- 后端服务器(独享型)
- 后端服务器(共享型)
- 证书管理
- 访问控制管理
- TLS安全策略
- 标签管理
- 访问日志
- 监控
- 审计
- 权限管理
- 关于配额
-
常见问题
- 高频常见问题
- 为什么通过负载均衡无法访问后端业务?
- 如何检查弹性负载均衡服务不通或异常中断?
- 如何排查ELB的异常返回码?
- 弹性负载均衡器是否可以单独使用?
- ELB是否支持TCP长连接?
- 弹性负载均衡是否支持后端FTP服务?
- 弹性负载均衡分配的EIP是否为独占?
- 单个用户默认可以创建多少个负载均衡器或监听器?
- ELB权限和使用范围是什么?
- 当负载均衡器正在运行中是否可以调整后端服务器的数量?
- 弹性负载均衡是否可以添加不同操作系统的服务器?
- ELB添加后端的端口号是否可以不一致?
- ELB支持跨用户、跨VPC使用么?
- 负载均衡器的后端服务器可以反过来访问公网/私网负载均衡器上的端口吗?
- ELB能否实现前端是HTTPS协议,后端也是HTTPS协议?
- ELB所属的VPC和子网支持修改吗?
- 是否支持在业务不中断的前提下,将共享型负载均衡升级为独享型负载均衡?
- ELB对于IPv6网络的支持情况是怎样的?
- 如何检查弹性负载均衡前后端流量不一致?
- 如何检查请求不均衡?
- 如何检查弹性负载均衡业务访问延时大?
- 如何检查压测性能上不去?
- 负载均衡器
- 监听器
-
后端服务器
- 为什么后端服务器上收到的健康检查报文间隔和设置的间隔时间不一致?
- 使用ELB后,后端服务器能否访问公网?
- 为什么100开头的IP在频繁访问后端服务器?
- ELB可以跨区域关联后端服务器么?
- 公网负载均衡的后端服务器要不要绑定EIP?
- 如何检查后端服务器网络状态?
- 如何检查后端服务器网络配置?
- 如何检查后端服务器服务状态?
- 后端服务器什么时候被认为是健康的?
- 如何检查通过EIP访问后端云服务器?
- 为什么云监控服务统计的ELB活跃连接数与后端服务器上的连接数不一致?
- 为什么配置了白名单后还能访问后端服务器?
- ELB修改后端服务器权重后多久生效?
- 为什么开启跨VPC后端需要确保负载均衡所属子网至少拥有16个可用IP地址?
- 健康检查
- 获取源IP
- HTTP/HTTPS监听器
- 会话保持
- 证书管理
- 监控
- 修订记录
- API参考 (巴黎区域)
- 用户指南(吉隆坡区域)
- API参考(吉隆坡区域)
- 用户指南(安卡拉区域)
- API参考(安卡拉区域)
- 通用参考
链接复制成功!
通过ELB的高级转发策略实现新旧版本应用平滑过渡
应用场景
随着公司业务发展,需要用新版本应用替换旧版本应用,使用高级转发策略可以实现旧版本应用向新版本应用平滑过渡。将旧版本应用和新版本应用同时部署在环境中,让一部分用户使用旧版本应用,一部分用户使用新版本应用,然后根据用户使用情况,调整优化新版本应用,逐步将所有用户均迁移至新版本应用。
前提条件
已申请了6台ECS,将您的旧版本业务和新版本业务各自部署在3台服务器上。
操作流程
![](https://support.huaweicloud.com/intl/zh-cn/bestpractice-elb/zh-cn_image_0000001865924037.png)
资源名称 |
资源类型 |
说明 |
---|---|---|
ELB-Test |
独享型ELB |
独享型ELB支持高级转发策略,因此需创建独享型ELB实例。 |
Server_Group-Test01 |
后端服务器组 |
用于管理部署了旧版本业务的ECS。 |
Server_Group-Test02 |
后端服务器组 |
用于管理部署了新版本业务的ECS。 |
ECS01 |
弹性云服务器 |
上面部署了旧版本业务,添加至Server_Group-Test01。 |
ECS02 |
弹性云服务器 |
上面部署了旧版本业务,添加至Server_Group-Test01。 |
ECS03 |
弹性云服务器 |
上面部署了旧版本业务,添加至Server_Group-Test01。 |
ECS04 |
弹性云服务器 |
上面部署了新版本业务,添加至Server_Group-Test02。 |
ECS05 |
弹性云服务器 |
上面部署了新版本业务,添加至Server_Group-Test02。 |
ECS06 |
弹性云服务器 |
上面部署了新版本业务,添加至Server_Group-Test02。 |
![](https://support.huaweicloud.com/intl/zh-cn/bestpractice-elb/public_sys-resources/note_3.0-zh-cn.png)
本最佳实践中,独享型ELB和ECS均在同一VPC中。在实际应用中,如果您的ECS和ELB不在同一VPC中,可以跨不同VPC添加ECS至ELB的后端服务器组中,详细请参考通过IP类型后端功能添加服务器至ELB。
步骤一:创建HTTP监听器并开启高级转发策略
- 登录华为云管理控制台。
- 在管理控制台左上角单击
图标,选择区域和项目。
- 单击页面左上角的
,选择“网络 > 弹性负载均衡”。
- 单击右上角的“购买弹性负载均衡”。
- 根据表1创建独享型负载均衡ELB-Test,根据需要设置相关参数。
- 实例规格类型:独享型
- 名称:ELB-Test
- 其他参数根据需要设置,详见创建独享型负载均衡器。
- 独享型ELB创建成功后,在ELB-Test中添加HTTP监听器。详见添加监听器。
- HTTP监听器创建成功后,开启高级转发策略。详见高级转发策略。
图2 开启高级转发策略
步骤二:创建后端服务器组并添加后端服务器
- 登录管理控制台。
- 在管理控制台左上角单击
图标,选择区域和项目。
- 单击页面左上角的
,选择“网络 > 弹性负载均衡”。
- 在左侧导航栏,选择“ 弹性负载均衡 > 后端服务器组”。
- 在“后端服务器组”界面,单击页面右上角“创建后端服务器组”按钮
- 名称:Server_Group-Test01
- 所属负载均衡器:选择关联已有ELB-Test
- 后端协议:HTTP
- 其他参数根据需要设置。
- 参考步骤5再添加后端服务器组Server_Group-Test02。
- 单击后端服务器组Server_Group-Test01名称,添加ECS01、ECS02、ECS03至Server_Group-Test01。
- 单击后端服务器组Server_Group-Test02名称,添加ECS04、ECS05、ECS06至Server_Group-Test02。
基于HTTP请求方法实现新旧版本应用平滑过渡
通过配置转发规则为“HTTP请求方法”的高级转发策略,实现将来自客户端的GET和DELETE请求转发至旧版本应用上,将来自客户端的POST和PUT请求转发至新版本应用上。以此种方式运行一段时间后,确认新版本应用无问题后,再将所有请求全部切换至新版本应用。
![](https://support.huaweicloud.com/intl/zh-cn/bestpractice-elb/zh-cn_image_0000001819164502.png)
- 单击上述创建的独享型负载均衡ELB-Test名称。
- 在“监听器”页签,单击上述创建的HTTP监听器名称。
- 切换至右边的“转发策略”页面,单击“添加转发策略”。
转发至旧版本应用:在下拉列表中选择“HTTP请求方法”,选择“GET”和“DELETE”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test01”。
图4 基于HTTP请求方法将部分请求转发至旧版本应用上 - 单击“保存”。
- 参考以上步骤再添加一个转发策略,实现将请求转发至新版本应用上。
转发至新版本应用:在下拉列表中选择“HTTP请求方法”,选择“PUT”和“POST”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test02”。
图5 基于HTTP请求方法将部分请求转发至新版本应用上
基于HTTP请求头实现新旧版本应用平滑过渡
公司的应用分为中文和英文两个语言,通过配置转发规则为“HTTP请求头”的高级转发策略,实现将来自客户端的英文请求转发至旧版本应用上,将来自客户端的中文请求转发至新版本应用上。以此种方式运行一段时间后,确认新版本应用无问题后,再将所有请求全部切换至新版本应用。
![](https://support.huaweicloud.com/intl/zh-cn/bestpractice-elb/zh-cn_image_0000001819324294.png)
- 单击上述创建的独享型负载均衡ELB-Test名称。
- 切换至“监听器”页签,单击上述创建的HTTP监听器名称。
- 切换至右边的“转发策略”页面,单击“添加转发策略”。
转发至旧版本应用:在下拉列表中选择“HTTP请求头”,键是“Accept-Language”,值是“en-us”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test01”。
图7 基于HTTP请求头将部分请求转发至旧版本应用上 - 单击“保存”。
- 参考以上步骤再添加一个转发策略,实现将请求转发至新版本应用上。
转发至新版本应用:在下拉列表中选择“HTTP请求头”,键是“Accept-Language”,值是“zh-cn”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test02”。
图8 基于HTTP请求头将部分请求转发至新版本应用上
基于查询字符串实现新旧版本应用平滑过渡
公司的应用部署在区域1和区域2,通过配置转发规则为“查询字符串”的高级转发策略,实现将客户端对区域1业务的请求转发至旧版本应用上,将客户端对区域2业务的请求转发至新版本应用上。以此种方式运行一段时间后,确认新版本应用无问题后,再将所有请求全部切换至新版本应用。
![](https://support.huaweicloud.com/intl/zh-cn/bestpractice-elb/zh-cn_image_0000001819164514.png)
![](https://support.huaweicloud.com/intl/zh-cn/bestpractice-elb/public_sys-resources/note_3.0-zh-cn.png)
- 独享型负载均衡器支持跨区域、跨不同VPC添加后端服务器。
- 该方案需要先使用云连接服务连通区域1和区域2,然后再使用独享型ELB的跨VPC后端功能将区域1和区域2中的服务器分别添加至ELB的后端服务器组01和后端服务器02中。
- 单击上述创建的独享型负载均衡ELB-Test名称。
- 在“监听器”页签,单击上述创建的HTTP监听器名称。
- 切换至右边的“转发策略”页面,单击“添加转发策略”。
转发至旧版本应用:在下拉列表中选择“查询字符串”,键是“region”,值是“region01”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test01”。
图10 基于查询字符串将部分请求转发至旧版本应用上 - 单击“保存”。
- 参考以上步骤再添加一个转发策略,实现将请求转发至新版本应用上。
转发至新版本应用:在下拉列表中选择“查询字符串”,键是“region”,值是“region02”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test02”。
图11 基于查询字符串将部分请求转发至新版本应用上