文档首页/ 弹性负载均衡 ELB/ 最佳实践/ 通过ELB的高级转发策略实现新旧版本应用平滑过渡
更新时间:2024-07-11 GMT+08:00

通过ELB的高级转发策略实现新旧版本应用平滑过渡

应用场景

随着公司业务发展,需要用新版本应用替换旧版本应用,使用高级转发策略可以实现旧版本应用向新版本应用平滑过渡。将旧版本应用和新版本应用同时部署在环境中,让一部分用户使用旧版本应用,一部分用户使用新版本应用,然后根据用户使用情况,调整优化新版本应用,逐步将所有用户均迁移至新版本应用。

前提条件

已申请了6台ECS,将您的旧版本业务和新版本业务各自部署在3台服务器上。

操作流程

图1 操作流程图
表1 资源规划

资源名称

资源类型

说明

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。

本最佳实践中,独享型ELB和ECS均在同一VPC中。在实际应用中,如果您的ECS和ELB不在同一VPC中,可以跨VPC添加ECS至ELB的后端服务器组中,详细请参考通过IP类型后端功能添加服务器至ELB

步骤一:创建HTTP监听器并开启高级转发策略

  1. 登录华为云管理控制台。
  2. 在管理控制台左上角单击图标,选择区域和项目。
  3. 单击页面左上角的,选择“网络 > 弹性负载均衡”。
  4. 单击右上角的“购买弹性负载均衡”。
  5. 根据表1创建独享型负载均衡ELB-Test,根据需要设置相关参数。
  6. 独享型ELB创建成功后,在ELB-Test中添加HTTP监听器。详见添加监听器
  7. HTTP监听器创建成功后,开启高级转发策略。详见高级转发策略
    图2 开启高级转发策略

步骤二:创建后端服务器组并添加后端服务器

  1. 登录管理控制台。
  2. 在管理控制台左上角单击图标,选择区域和项目。
  3. 单击页面左上角的,选择“网络 > 弹性负载均衡”。
  4. 在左侧导航栏,选择“ 弹性负载均衡 > 后端服务器组”。
  5. 在“后端服务器组”界面,单击页面右上角“创建后端服务器组”按钮
    • 名称:Server_Group-Test01
    • 所属负载均衡器:选择关联已有ELB-Test
    • 后端协议:HTTP
    • 其他参数根据需要设置。
  6. 参考步骤5再添加后端服务器组Server_Group-Test02。
  7. 单击后端服务器组Server_Group-Test01名称,添加ECS01、ECS02、ECS03至Server_Group-Test01。
  8. 单击后端服务器组Server_Group-Test02名称,添加ECS04、ECS05、ECS06至Server_Group-Test02。

基于HTTP请求方法实现新旧版本应用平滑过渡

通过配置转发规则为“HTTP请求方法”的高级转发策略,实现将来自客户端的GET和DELETE请求转发至旧版本应用上,将来自客户端的POST和PUT请求转发至新版本应用上。以此种方式运行一段时间后,确认新版本应用无问题后,再将所有请求全部切换至新版本应用。

图3 基于HTTP请求方法实现新旧版本应用平滑过渡
  1. 单击上述创建的独享型负载均衡ELB-Test名称。
  2. 在“监听器”页签,单击上述创建的HTTP监听器名称。
  3. 切换至右边的“转发策略”页面,单击“添加转发策略”。

    转发至旧版本应用:在下拉列表中选择“HTTP请求方法”,选择“GET”和“DELETE”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test01”。

    图4 基于HTTP请求方法将部分请求转发至旧版本应用上
  4. 单击“保存”。
  5. 参考以上步骤再添加一个转发策略,实现将请求转发至新版本应用上。

    转发至新版本应用:在下拉列表中选择“HTTP请求方法”,选择“PUT”和“POST”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test02”。

    图5 基于HTTP请求方法将部分请求转发至新版本应用上

基于HTTP请求头实现新旧版本应用平滑过渡

公司的应用分为中文和英文两个语言,通过配置转发规则为“HTTP请求头”的高级转发策略,实现将来自客户端的英文请求转发至旧版本应用上,将来自客户端的中文请求转发至新版本应用上。以此种方式运行一段时间后,确认新版本应用无问题后,再将所有请求全部切换至新版本应用。

图6 基于HTTP请求头实现新旧版本应用平滑过渡
  1. 单击上述创建的独享型负载均衡ELB-Test名称。
  2. 切换至“监听器”页签,单击上述创建的HTTP监听器名称。
  3. 切换至右边的“转发策略”页面,单击“添加转发策略”。

    转发至旧版本应用:在下拉列表中选择“HTTP请求头”,键是“Accept-Language”,值是“en-us”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test01”。

    图7 基于HTTP请求头将部分请求转发至旧版本应用上
  4. 单击“保存”。
  5. 参考以上步骤再添加一个转发策略,实现将请求转发至新版本应用上。

    转发至新版本应用:在下拉列表中选择“HTTP请求头”,键是“Accept-Language”,值是“zh-cn”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test02”。

    图8 基于HTTP请求头将部分请求转发至新版本应用上

基于查询字符串实现新旧版本应用平滑过渡

公司的应用部署在区域1和区域2,通过配置转发规则为“查询字符串”的高级转发策略,实现将客户端对区域1业务的请求转发至旧版本应用上,将客户端对区域2业务的请求转发至新版本应用上。以此种方式运行一段时间后,确认新版本应用无问题后,再将所有请求全部切换至新版本应用。

图9 基于查询字符串实现新旧版本应用平滑过渡
  • 独享型负载均衡器支持跨区域、跨VPC添加后端服务器。
  • 该方案需要先使用云连接服务连通区域1和区域2,然后再使用独享型ELB的跨VPC后端功能将区域1和区域2中的服务器分别添加至ELB的后端服务器组01和后端服务器02中。
  1. 单击上述创建的独享型负载均衡ELB-Test名称。
  2. 在“监听器”页签,单击上述创建的HTTP监听器名称。
  3. 切换至右边的“转发策略”页面,单击“添加转发策略”。

    转发至旧版本应用:在下拉列表中选择“查询字符串”,键是“region”,值是“region01”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test01”。

    图10 基于查询字符串将部分请求转发至旧版本应用上
  4. 单击“保存”。
  5. 参考以上步骤再添加一个转发策略,实现将请求转发至新版本应用上。

    转发至新版本应用:在下拉列表中选择“查询字符串”,键是“region”,值是“region02”,动作选择“转发至后端服务器组”,后端服务器组选择“Server_Group-Test02”。

    图11 基于查询字符串将部分请求转发至新版本应用上