文档首页> 弹性负载均衡 ELB> 最佳实践> 使用高级转发策略实现新旧版本应用平滑过渡
更新时间:2024-04-23 GMT+08:00
分享

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

应用场景

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

前提条件

  • 已拥有华为云账号,并且华为云账号已实名认证。
  • 华为云账号未欠费,并且有足够的金额可以购买本最佳实践所涉及的资源。
  • 已申请了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的后端服务器组中,详细请参考跨VPC添加服务器至负载均衡器

创建独享型ELB实例&添加HTTP监听器&开启高级转发策略

  1. 登录华为云管理控制台。
  2. 选择“网络 > 弹性负载均衡”。
  3. 单击右上角的“购买弹性负载均衡”。
  4. 根据表1创建独享型负载均衡ELB-Test,根据需要设置相关参数。详见《弹性负载均衡用户指南》

    • 实例规格类型:独享型
    • 名称:ELB-Test
    • 其他参数根据需要设置。

  5. 独享型ELB创建成功后,在ELB-Test中添加HTTP监听器。详见《弹性负载均衡用户指南》

    图2 HTTP监听器

  6. HTTP监听器创建成功后,开启高级转发策略。详见《弹性负载均衡用户指南》

    图3 开启高级转发策略

创建后端服务器组并添加后端服务器

  1. 单击上述创建的独享型负载均衡ELB-Test名称。
  2. 在监听器页签,单击右上角的“创建后端服务器组”。

    • 名称:Server_Group-Test01
    • 后端协议:HTTP
    • 其他参数根据需要设置。

  3. 参考步骤2再添加后端服务器组Server_Group-Test02。

    图4 添加后端服务器

  4. 单击后端服务器组Server_Group-Test01名称,添加ECS01、ECS02、ECS03至Server_Group-Test01。
  5. 单击后端服务器组Server_Group-Test02名称,添加ECS04、ECS05、ECS06至Server_Group-Test02。

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

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

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

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

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

  4. 单击“保存”。
  5. 参考步骤3步骤4再添加一个转发策略,实现将请求转发至新版本应用上。

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

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

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

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

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

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

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

  4. 单击“保存”。
  5. 参考步骤3步骤4再添加一个转发策略,实现将请求转发至新版本应用上。

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

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

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

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

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

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

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

  4. 单击“保存”。
  5. 参考步骤3步骤4再添加一个转发策略,实现将请求转发至新版本应用上。

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

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

分享:

    相关文档

    相关产品