实战:Nginx+Lua实现流量跨机房分发

大家好,我是IT孟德,You can call me Aman(阿瞒,阿弥陀佛的ē,Not阿门的ā),一个喜欢所有对象(热爱技术)的男人。我正在创作架构专栏,秉承ITer开源精神分享给志同道合(爱江山爱技术更爱美人)的朋友。专栏更新不求速度但求质量(曹大诗人传世作品必属精品,请脑补一下《短歌行》:对酒当歌,红颜几何?譬如媳妇,吾不嫌多...青青罗裙,一见动心,但为佳人,挂念至今...),用朴实无华、通俗易懂的图文将十六载开发和架构实战经验娓娓道来,让读者茅塞顿开、相见恨晚...如有吹牛,不吝赐教。关注wx公众号:IT孟德,一起修炼吧!

专栏文章推荐:

架构师秘籍:像呵护感情一样构建无懈可击的系统稳定性防线!

系统性能评估:如何定义并发数、响应时间和吞吐量

架构图的魅力:如何用UML提升架构设计的质量

架构师的职责是什么?程序员如何转型为架构师?

为什么要做架构设计?架构设计包含哪些内容?

什么是架构?架构如何演进?

Mysql数据库连接池druid、hikaricp优化实战

1、背景

        凭借弹性资源调度、开放技术生态和持续创新能力,云计算正全面驱动企业数字化转型,从互联网行业到传统制造业,"上云" 已势不可挡。对于企业而言,业务上云能带来一系列实际利好,但对技术人员来说,上云过程往往伴随着诸多挑战 ,尤其是在处理存在大量技术债的庞大C端业务时,转型过程更是一波三折。

        某业务快速增长,自建IDC机房服务器逐渐过保,服务扩容和数据容灾都面临巨大挑战。因业务的复杂性,基于“稳”字当头考虑,最终制定了依据业务体量以及影响范围逐步迁移上云的演进方案。该方案将造成在很长一段时间内IDC与公有云共存的混合架构,在一定程度上增加了系统架构的复杂度。首先面临的就是流量分发的问题,流量分发重点解决以下问题:

  • 原业务域名单一,无法强制端用户升级版本通过新api域名区分流量

  • 数千个api对应的uri毫无规律,无法通过简单的location规则区分业务并转发至部署机房

  • Api网关依据业务进行垂直拆分,需将用户请求路由至对应的网关

2、解决方案

2.1、路由规则管理

        为解决上述问题,首先就要建立用户请求api地址与机房、业务网关的映射关系。经过评估,我们直接改造原网关控制台,基于维护api的功能完善路由管理,支持设置api的机房和业务网关。

图1: 路由管理

        通常路由规则数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT孟德

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值