配置相同域名不同路径的转发策略实现精准转发
应用场景
独享型负载均衡支持您基于域名和路径将接收到的客户端请求精确地分配到不同的后端服务器组上,以实现高效、合理、精细化管理的流量分发功能。
- 微服务架构:在微服务架构中,后端服务由多个独立的子服务组成,每个子服务部署在不同的后端服务器上,对外使用同一个域名进行服务。通过基于路径的转发策略,客户端请求被精确分配到处理对应业务逻辑的后端服务器上。
- 灰度发布/AB测试:在多环境部署中,开发、测试和生产环境可能部署在同一域名下但使用不同路径。通过配置相同域名不同路径转发策略,请求被精确转发到目标环境的后端服务器上。
- 读写分离:在高并发和数据一致性要求严格的场景下,如订单处理服务,采用读写分离策略优化性能与数据安全。读操作定向转发到读数据库,写操作定向转发到写数据库。
基于域名和路径的转发策略概述
独享型ELB支持高级转发策略,支持基于客户端请求的不同特征设置转发规则和转发动作,便于更灵活分流业务,更合理分配资源。
实践方案架构
某电商平台希望通过一个域名对外提供多样化的微服务,包括直播和促销活动的能力。直播功能需要高带宽和低延迟的处理能力,而促销活动的能力可能会在短时间内涌入大量客户,导致流量徒增,并产生大量数据读取的动作。如果所有服务在一个后端服务器组上部署,可能导致资源分配不均,在促销活动高峰期影响直播用户的浏览体验。尤其是在用户访问量激增时,服务器负载过高,无法保证服务稳定运行。
该电商平台可以利用华为云独享型ELB实例配置相同域名下不同路径的转发策略实现更加精准的业务流量分发,确保每个微服务都能高效独立运行。如下图1,路径/live的请求转发至直播服务器组后端服务器组A,确保直播服务获得足够的带宽和处理能力。路径/promotion的请求转发至后端服务器组B,优化计算资源以快速响应查询和提交操作。
约束与限制
- 仅独享型ELB的HTTP/HTTPS/QUIC监听器支持配置高级转发策略。
- 单个监听器最多支持配置100条转发策略,超过配额的转发策略不生效。
- 高级转发策略:一种转发规则支持多个转发条件,一条转发策略最多支持10个转发条件。
准备工作
- 创建独享型ELB实例,且ELB已绑定EIP。具体操作,请参见购买独享型负载均衡器和绑定IPv4公网IP。
- 创建两个协议类型为HTTP协议的后端服务器组,后端服务器组A和后端服务器组B中分别添加了ECS01和ECS02实例,并且在其中部署了应用服务。
- 注册域名并完成备案。具体操作,请参见注册域名、快速完成ICP备案。本实践推荐使用域名www.example.com。
步骤一:开启高级转发策略
- 进入弹性负载均衡列表页面。
- 在弹性负载均衡列表页面,单击需要添加转发策略的负载均衡器名称。
- 在“监听器”页签,单击目标监听器名称。
- 在监听器“基本信息”页面,单击“开启高级转发策略”。
- 单击“确认”。
步骤二:配置高级转发策略
- 进入弹性负载均衡列表页面。
- 在弹性负载均衡列表页面,单击需要添加转发策略的负载均衡器名称。
- 在“监听器”页签,您可以通过以下两种操作入口,进入监听器的“转发策略”页签。
- 在目标监听器所在行的“操作”列,单击“添加/编辑转发策略”。
- 单击目标监听器的名称,并切换到“转发策略”页签。
- 单击“添加转发策略”按钮,配置转发策略。
路径:当路径为live时,转发到后端服务器组A;路径为promotion时,转发到后端服务器组B。
- 配置完成,单击“保存”。
步骤三:配置域名解析
通过为域名添加A类型记录集解析,将域名解析到ELB的公网地址,使得客户端可以通过公网域名访问ELB。
以下提供将网站域名解析至IPv4地址的配置示例,更多关于A类型记录集的配置指导,请参考快速添加网站域名解析。
- 进入云解析服务控制台。
- 在左侧树状导航栏,选择“公网域名”。
- 在待添加记录集的公网域名所在行,单击操作列的“管理解析”。
- 单击“添加记录集”,进入“添加记录集”页面。
- 设置记录集参数,如表2所示。
表2 A类型记录集参数说明 参数
示例
说明
记录类型
A – 将域名指向IPv4地址
记录集的类型,本实践为A – 将域名指向IPv4地址。
主机记录
www
您域名的前缀。
线路类型
全网默认
解析的线路类型用于DNS服务器在解析域名时,根据访问者的来源,返回对应的服务器IP地址。
默认值为“全网默认”。
全网默认:默认线路类型,当未根据访问者来源设置解析线路时,系统会返回默认解析结果。
TTL(秒)
300
解析记录在本地DNS服务器的缓存时间,以秒为单位。
本实践使用默认值300秒。
记录值
192.168.12.2
域名对应的IPv4地址,本实践为ELB绑定的弹性公网IP地址。
高级配置(可选)
-
您可以单击
,展开折叠的高级配置区域,设置记录集的别名和权重并添加标签和描述,本文保持默认设置。
- 单击“确定”。
- 返回“解析记录”页面。
步骤四:结果验证
使用浏览器访问http://<域名>/<路径>/,验证ELB将相同域名不同路径的请求转发到对应的后端服务器。