能否在aws NLB后端实现基于路径的路由以兼顾高性能需求?
关于同时满足高性能流量处理与URL路径路由需求的AWS负载均衡选型解答
核心结论
单靠AWS NLB无法直接实现基于URL路径的路由能力,无法匹配你当前的全部业务需求。
为什么NLB天生不支持路径路由
NLB可支撑每秒数十万级的新连接请求,延迟稳定在低个位数毫秒到几十毫秒区间,完全匹配你对高处理性能、低访问延迟的预期。但它是工作在传输层(四层)的负载均衡产品,路由决策仅基于源/目的IP、传输端口、网络协议这类四层网络信息做判断,全程不会解析应用层的HTTP/HTTPS请求内容,根本无法识别请求里的URL路径字段(比如www.jatin.com和www.jatin.com/somepath的差异),从产品设计层面就不具备路径分流的能力。
同时拿到NLB高性能与路径路由能力的可行架构
如果你需要完整保留NLB的低延迟、高吞吐特性,同时实现路径分流,可采用分层负载的部署方案:
- 最前端部署公网NLB,直接承接所有入口公网流量,完全发挥NLB的高吞吐、低延迟特性
- 将NLB的目标组绑定到同VPC内的ALB私网地址
- 所有基于URL路径的路由规则、SSL证书卸载、请求头解析逻辑全部由后置的ALB承载,按照预设规则把不同路径的流量分发到对应的后端业务服务器
这种架构的跨层转发额外延迟仅为个位数毫秒,基本不会损失NLB的性能优势,相比直接将流量打到ALB的方案,整体处理能力会提升30%以上。
补充选型参考
如果你的流量规模没有达到每秒数万请求的极端量级,也可以直接单独使用ALB承载流量:目前ALB的单实例处理延迟通常在5-15ms区间,完全满足绝大多数Web业务的低延迟要求,同时可直接配置路径路由规则,无需叠加多层负载均衡组件,运维复杂度更低。
内容的提问来源于stack exchange,提问作者Jatin Mehrotra
相关产品推荐
相关产品推荐

