支持 10 亿日流量的基础设施:当 Apache APISIX 遇上腾讯

本文介绍了腾讯游戏内部如何使用Apache APISIX作为网关,支撑10亿日流量的业务,探讨了网关的作用、价值以及在腾讯内部的运营策略和发展情况。文章还揭示了OTeam如何平衡网关模式的优缺点,以及Apache APISIX在腾讯内部的定制化特性与贡献。
摘要由CSDN通过智能技术生成

本文整理自腾讯游戏负责内部容器平台的工程师徐鑫在 Apache APISIX Meetup - 深圳站上的演讲,通过阅读本文,您不仅可以了解网关是什么、网关模式对传统服务架构的改进,还可以了解腾讯 OTeam 诞生的原因,以及 Apache APISIX 是如何在腾讯内部落地的。

在正式进入分享之前,先给大家介绍一下网关 (Gateway) 的作用和价值。

网关是什么

传统架构的通用功能

在传统架构中是没有网关的,那么通用功能该如何复用?这里的通用功能指业务无关的一些特性,比如:

  • 安全性:身份验证、授权、防重放、防篡改、对抗 DDos 等

  • 可靠性:服务降级、熔断、限流等

这些功能在传统架构下,最常见的处理方法就是将其放入服务框架当中,通过 AOP 的方式去实现,类似下图:
图片
图中模块释义:

  • Backend: 后端服务

  • AOP: 框架携带的 AOP 分层

  • SD: 服务中心,用于服务间发现,此组件在云原生环境下经常用 Service 替代

  • LB: 负载均衡器,放置于网络边界上,作为外部流量的入口

这种架构在早些年的设计中非常常见,由此诞生了很多大而全的服务框架,比如 Dubbo、SpringCloud 等。如果我们去认真研究它们的功能介绍,会发现这些功能点它们大多都有。

这种架构的优点在于上下游关系简单,网络传输中也少了一次转发。但它们的缺点也很明显:

  • **通用功能的迭代迫使业务服务更新:**由于采用的是代码引用,需要业务服务重新编译才能使功能生效。对一些没有实现平滑发布的团队,由于服务会中断,因此还得挑业务的空闲期发布。

  • **版本难以管理:**由于我们不可能每次发布都让所有业务服务升级最新版,长此以往,各个服务的版本将会不一致。

那么是否可以将这些通用功能下沉到一个独立的服务,它可以单独迭代且业务无关?

网关模式的出现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

API7.ai 技术团队

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

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

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

打赏作者

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

抵扣说明:

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

余额充值