美团七层负载均衡转发系统落地案例

ABTesingGateway 是一个可以动态设置分流策略的灰度发布系统,工作在7层,基于tengine,采用ngx-lua开发,使用 redis 作为分流策略数据库,可以实现动态调度功能。

nginx是目前使用较多的7层服务器,可以实现高性能的转发和响应;ABTestingGateway 是在 nginx 转发的框架内,在转向 upstream 前,根据 用户请求特征 和 系统的分流策略 ,查找出目标upstream,进而实现分流。

由于AB框架只支持4种策略类型,对于业务要根据请求Cookie、自定义header控制转发的情况,均需要开发新的策略类型和发布上线。另外,策略类型和业务场景紧密相关,导致AB系统的扩展性极差,很难快速支持新业务的路由需求。

无论是Nginx if指令,还是AB框架,要么需要reload重新加载才能生效,要么无法支持某些业务场景下的分流需求,所以都很难作为解决公司级分流框架的有效手段。针对它们所存在的不足,Oceanus开发了一套应用级、高可扩展的动态分流框架,不仅动态支持各种业务场景的分流需求,而且保证了请求转发的性能,下文将阐述我们如何解决分流机制的几个核心问题。

meituan Oceanus定制化路由的核心设计&实现

关于分流机制,我们主要从以下四个方面来讲述:

  • 策略抽象:合理定义策略结构,适用尽可能多的业务场景。
  • 策略的高效查询:接口粒度关联,应用维度管理。
  • 运行时策略渲染:渲染策略模板,判断是否匹配策略,实现动态路由。
  • 分组动态更新:分组数据增删改,均不需要reload。

Oceanus:美团HTTP流量定制化路由的实践 - 美团技术团队

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值