Apache APISIX 在移动云的应用

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

ApacheCon Asia 2021 将在北京时间 8 月 6 日正式开始,在 ASF 中有多个项目与 API、微服务相关,比如 Apache APISIX、Apache Dubbo 等。在 ApacheCon Asia 2021 —— API / 微服务专题中,大家不仅可以了解有关 API、微服务的前沿技术,也会学习到这些 Apache 项目的最佳实践,来自中国移动云能力中心的陈焱山将在大会上分享《Apache APISIX 在移动云对象存储 EOS 的应用与实践》。

最近,我们有幸采访了中国移动云能力中心的陈焱山,在采访中我们了解到中国移动公有云建设发展演进历程,明白了为什么移动云为什么选择 Apache APISIX 作为负载均衡网关,并且知晓移动云后续的发展规划。

中国移动云能力中心,对外也称“中移(苏州)软件技术有限公司”,是中国移动通信集团 2014 年注资成立的全资子公司,公司定位为云设施构建者、云服务提供者、云生态汇聚者,三年内推动中国移动云业务市场份额进入国内云服务商第一阵营。自 2019 年中国移动启动“云改”战略以来,作为助力中国移动 5G+AICDE 战略落地的基石,移动云经过长足发展,已完成覆盖全国的“N+31+X”整体资源布局。同时,移动云积极打造“云网、云数、云边、云智” 差异化特色优势,在业务体量、产品种类、可售资源等方面均实现飞跃式提升。“移动云”品牌也充分发挥了云网一体、贴身服务、随心定制、安全可控的优势,打造 5G 时代“你身边的智慧云”,为行业数字化转型发展提供“强引擎”。

Q:非常高兴今天能跟陈焱山老师进行交流,可以麻烦您做下自我介绍,简单陈述下您现在的工作内容吗?

大家好,我叫陈焱山,目前就职于中国移动云能力中心 IaaS 产品部,主要负责分布式对象存储软件的整体架构设计与开发工作,负责对象存储、API 网关的技术选型与方案落地实践工作。在分布式存储领域这块还是有比较丰富的经验的,深度参与了移动云的建设发展历程。

当前,我主要关注于对象存储在交互编排、流量治理等方面的能力,促进我们第四代对象存储产品进一步实现架构升级。同时,我们也希望能够基于 Ingress Controller 的能力,来实现统一流量访问入口,并包括灰度发布、流量管控等功能。这些是我们当前正在做的一些工作。

图片

Q:您说的这些内容多少都与 Apache APISIX 有关联,您在今年 ApacheCon 亚洲大会上也有一场分享,想问下您会带来哪些精彩分享?

首先,我会给大家介绍一下我们移动云对象存储产品 EOS 的整体发展和演进过程,同时重点介绍我们是如何基于 Apache APISIX 实现对象存储流量治理的,做了哪些工作,又是如何进行实践。最后对我们未来的架构演进做了一些规划说明。我们对象存储的整体演进过程主要经历了如下四个阶段,对于 Apache APISIX 引入主要是从第三代开始引入的,确实给我们产品在架构上带来很多便利。

  • 第一代:从 2008 年开始投入自研,同年发布了我们的第一代对象对象存储产品;
  • 第二代:主要基于开源 Ceph 实现深度定制,实现了接口的标准化,支持 AWS 的 S3 标准接口和 Openstack 的 Swift 接口协议,同时丰富了大量的功能特性;
  • 第三代:主要解决内部一些专业公司海量数据上云需求。在第三代产品中,我们在性能上实现了一个新的跨越,单一存储桶同时支持百 PB 容量和百亿对象规模,入口带宽达到 Tb/s 级。同时,我们还引入了很多子模块,包括七层流量治理以及可观测系统。七层流量治理模块是基于 Apache APISIX 实现的,主要用于实现业务流量的分离治理;可观测系统则主要是实现了数据的采集、告警以及日志分析功能。
  • 第四代:也是全新一代架构,支持跨区域全局纠删功能,支持 AZ/Region 级容灾。在流量治理方面,支持基于 Apache APISIX 实现的跨地域请求调度能力,支撑极致的业务连续性;同时系统可观测性进一步提升,落地了集中化日志分析系统。在可维护性上首次引入了自动驾驶服务和交付编排服务,能够自动有效收敛故障范围,减轻运维压力,实现故障隔离和自愈能力。

Q:从您的讲述中可以感受到,这个系统不仅非常庞大,而且还非常重要。对于这样重要的系统,为什么会选择 Apache APISIX?主要出于哪些方面的考虑呢?

是的,在技术选型初期我们也调研过很多的 API 网关,包括 Nginx 等,不过我们最终还是选择了 Apache APISIX。Apache APISIX 不仅能够满足当前的业务要求,同时还能在系统可用性、可维护性上为我们提供比较多的思路和选择,跟我们的整体产品演进规划和技术栈比较吻合。归结起来选择 Apache APISIX 主要基于以下几点:

第一,内部驱动产品架构优化需要,促使我们开始在一些技术架构上寻找更高的突破点

在 2019 年的时候,中国移动从集团层面提出了“云改”战略转型,随后我们云能也就成了整个移动在云改转型上的战略支撑点。这也促使我们要在产品系统架构上做进一步的优化,能够满足未来 3~5 年以上的发展需要。不仅需要在功能和性能上进行提升,而且需要在可维护性、可观测性等方面上来引入更多的组件,来保证我们系统的稳定运行,提供可持续的、有保证的 SLA 服务等级。

第二,基于自身业务实现需要,同时 Apache APISIX 功能插件全面,业务场景匹配度高

因为自身业务对网关能力的需要,我们通过对自有业务需求进行详细梳理分析,这其中就包括精细化路由、内/外网隔离以及访问控制,自动熔断保护,跨 AZ 请求调度等场景。同时,“运维友好”,这方面 Apache APISIX 做得非常好。

大家都知道,Apache APISIX 能够友好对接 Prometheus,前面我提到的可观测系统,它就是基于 Prometheus + Grafana + Loki 来实现的,所以之所以选择 Apache APISIX,很重要的一点是它能与我们现有的技术栈完美结合,这些都是我们比较看重的。

此外另外还有一个关键点,这也是 Apache APISIX 与其他网关产品的重要区别 —— 全动态加载,因为我们更希望所有的插件、路由都能够动态的扩展,这些是 Nginx这样的产品所不具备的。举一个简单的应用场景的例子:前面我有提到过我们有一个子系统叫自动驾驶 Manager,当我后端的索引存储空间不足时,我们就是通过 Manager 自动使能一条默认高优先级的路由,禁用 PUT 和 POST 等功能,从而实现自动后端保护。

第三,对社区开源文化的认同感

和其他网关产品不同,Apache APISIX 是 Apache 开源顶级项目,孵化时间也是最短的,足见项目的成功,产品已经被很多企业应用于生产环境下。此外不得不说社区也是十分活跃的,代码贡献者和使用者都非常多,与社区的沟通交流方式也很多样化,比如 maillist,issues,QQ群,微信群,线上线下的 Meetup,沟通起来十分便捷且迅速有效。社区大佬也十分友好,乐于回复大家的提问。所以我们对 Apache APISIX 社区的未来也是非常看好的。

另外,Apache APISIX 的全产品线做得也非常好,包括 K8s Ingress Controller,以及 Service Mesh 等,虽然这些技术栈我们当前还用不到,但我觉得社区在产品定位、发展方向上都是非常清晰的,这也给了我们更充分的信心。

**Q:就像您说的,其实 Apache APISIX 不仅是希望能够满足用户当前的需求和架构的设计,我们更希望能够满足大家 3~5 年,甚至更长时期的架构变迁。**现在 Apache APISIX 有跑在中国移动的一些业务系统上吗?

有的。从我们的第三代对象存储产品开始,我们除了解决容量、性能以及扩容性的问题之外,我们还利用 Apache APISIX 来解决我们七层流量治理的需求。第三代对象存储从它的研发历程来看,前后加起来还不到半年的时间,并能够在 2020 年 7 月的时候在移动云十期中完成上线运行,主要服务于内部的一些专业公司数据上云的需求。主要是存储用户的一些摄像监控数据,所以对带宽的要求还是比较高的。目前整体投入生产运行已经有一年多了,从接入层到后端服务的运行情况还是非常平稳的,几乎没有出过什么问题。

Q:在使用 Apache APISIX 的时候会做一些二次开发吗?另外,这些二次开发的成果是否有计划回归到社区呢?

二次开发是有的,而且还有不少。

针对一些通用的功能,我们也会把他们贡献给社区。但我们的一些开发内容都是为了满足一些特定业务场景,比如跨 AZ 请求调度。该功能主要是面向我们第四代对象存储,它是一个全局跨域的版本,支持 AZ 级容灾,所以对业务的连续性要求非常高。为了解决请求调度的一些需求,我们在 Apache APISIX 上写了一个 Plugin,然后去运行。

通过这个 Plugin 的请求,首先会选择本节点上游去处理;如果本节点上游出现问题,就会转向到本 AZ 内的其他一些上游去进行处理。如果本 AZ 所有上游都出现故障的时候,那就直接采用跨 AZ 的请求调度处理机制。这样一来,我们整个业务请求的过程中,即使出现 AZ 级的故障,请求还是能够被正常处理。换句话说,我们利用 Apache APISIX 做了一部分 “多活” 架构的实现。

Q:除了 Apache APISIX 现有的功能之外,你们后续还会有一些什么样的计划吗?

我觉得后续的话,我们应该主要会围绕这几个方面开展。

第一,容器化编排和统一入口
因为我们现在主要在开发第四代对象存储,我们正在做的事情就是实现所有组件的容器化部署编排。这中间既有数据面也有控制面,控制面我们已经是 K8s 化了,当前正在做数据面组件的容器化部署编排工作。对于外部访问需求,我们也在采用 Ingress Controller 来统一访问入口。

第二,将更多的功能前置到网关层面来处理
前面我有提到,在我们的控制面有多个子系统,后续我们希望把流量治理与一些自动驾驶、可观测子系统能够更多的去融合起来,通过实现故障自愈、故障隔离等功能,从而保证产品对外的访问能力,这也就要求我们匹配更多的业务场景能力。

另外,我们现在的网关接入层主要是实现了流量转发控制功能,而原来后端的认证、鉴权的那套逻辑是由业务逻辑层处理的,后续会考虑把这一部分内容统一前置到网关层面来处理。在数据迁移这块,由于历史遗留问题比较多,迁移过程还不能影响业务的连续性,不过我们也已经有了基于 Apache APISIX 的可行方案。

第三,社区代码贡献上要加大
我们也会在这块加大人员投入,与社区有着更积极的互动,参与到社区的开发当中,为社区的发展做一些回馈,这也有利于打磨我们的产品。

第四,推动内部技术栈的统一
目前在我们内部还存在多种技术栈并行的情况,同时也有多个团队在使用 Apache APISIX 网关,后期我们也将通过沟通,梳理业务模型,实现技术栈的统一,避免重复造轮子的情况发生,最终实现技术栈的统一,形成统一基座能力。

Q:再次感谢陈老师,看来 Apache APISIX 在中国移动后面应该可以适用更多的场景,发挥的更多作用了。我们也十分期待陈老师在 ApacheCon Asia 2021 上的分享《APISIX 在移动云对象存储 EOS 的应用与实践》。

我们也期待,Apache APISIX 可以让更多的企业受益!欢迎观看我们往期的企业案例文章

关于 Apache APISIX

Apache APISIX 是一个动态、实时、高性能的开源 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Apache APISIX 可以帮忙企业快速、安全的处理 API 和微服务流量,包括网关、Kubernetes Ingress 和服务网格等。全球已有数百家企业使用 Apache APISIX 处理关键业务流量,涵盖金融、互联网、制造、零售、运营商等等,比如美国航空航天局(NASA)、欧盟的数字工厂、中国航信、中国移动、腾讯、华为、微博、网易、贝壳找房、360、泰康、奈雪的茶等。200 余位贡献者,一同缔造了 Apache APISIX 这个世界上最活跃的开源网关项目。聪明的开发者们!快来加入这个活跃而多样化的社区,一起来给这个世界带来更多美好的东西吧!

  • Apache APISIX 项目地址:https://github.com/apache/apisix
  • Apache APISIX 官网:https://apisix.apache.org/
深度解析微服务网关APISIX、Higress 与 Spring Cloud Gateway 技术对比与实战指南 本文对当前主流的三种API网关——Apache APISIX、Higress和Spring Cloud Gateway进行了全面对比,涵盖了技术架构、核心功能、性能工程、生态体系等多个维度。APISIX基于Nginx+Lua构建,具有高性能和多协议支持的优势;Higress基于Envoy和Istio,适合云原生环境;Spring Cloud Gateway则依托Spring生态,适合Java发者。文章通过企业级实践案例,详细分析了各网关的技术细节和适用场景,为架构决策提供了专业参考。未来,智能路由、零信任 阅读详情

相关推荐

8大主流API网关巅峰对决:一文读懂谁是性能之王

【重磅测评】API网关终极战:谁能撑起10万并发? 从入门到精通:最强API网关评测出炉,选型不再纠结! 震撼发布:API网关性能王者之争,真实数据告诉你答案 重磅揭秘:8大API网关实战对比,谁是你的最佳选择? 王者对决:最新API网关基准测试,让数据说话! 技术干货:API网关终极测评,帮你省下半年选型时间 史上最全:API网关性能大比拼,真实数据惊呆了! 重磅:API网关选型指南2024版,建议收藏!

jsjbrdzhh的博客 3853

微服务 API 网关架构演进 Spring Cloud Gateway ShenYu APISIX

阿里技术专家:“双11”亿级流量背后的API网关、微服务架构实践!

zhaoyang10的专栏 8579

基于 Apache APISIX 的自动化运维平台

本文由前同程数科运维经理陈庆介绍了如何基于 Apache APISIX 实现自动化运维平台。

ApacheAPISIX的博客 1710

写在前面(ShenYu)

首先我们在市面上见到的网关很多,最常见的使用最多的应该是,还有kong、zuul等等网关。网上现在有很多网关之间对比介绍,我这里就不赘述了。下面我列举一下为什么要选择ShenYu。性能,根据众多大佬的测试,Shenyu和的性能差距很小,甚至可能ShenYu的性能更优,这个是听说,本人没有实际测试哈。插件化,这个也是ShenYu的一个特色,ShenYu有很多插件化组件,而且是插拔式的,即插即用。而且还可以自己拓展插件,自定义插件。

简单简单小白 3万+

ApacheCon Asia 2021: Apache APISIX 技术议题一览

ApacheCon Asia 2021: Apache APISIX 技术议题一览 关于 ApacheCon Asia 2021 ApacheCon 是 Apache 软件基金会的官方全球系列会议。自 1998 年以来,ApacheCon 一直吸引着各个层次的参与者,在 350 多个 Apache 项目及其不同的社区中探索 “明日的技术”。 ApacheCon Asia 是 ApacheCon 组委会针对亚太地区举办的 ApacheCon 在线会议,主要目标在于更好地服务亚太地区快速增长的 Apache

ApacheAPISIX的博客 479

中国移动云能力中心 Iaas 产品部软件发工程师陈焱山:社区始于连接,也成就于连接...

社区始于连接,也成就于连接——陈焱山ApacheCon 是 Apache 软件基金会(ASF)的官方全球系列大会。作为久负盛名的源盛宴,ApacheCon 在源界备受关注,也是源运动...

dotNET跨平台 894

纵观移动云对象存储发展历程,也少不了 Apache APISIX 的能力加持

背景说明中国移动云能力中心作为中国移动云设施构建者、云服务提供者以及云生态汇聚者,承担了移动云的技术研发、规划建设、运营维护、 合作引入、销售支撑、支持上云六大工作职责。截至 2020 年 10 月,全国共计建成 25 个公有云节点,省份覆盖率超过 80%。其中对象存储 EOS 作为底层基础设施能力之一,已在所有资源池中进行了部署建设,整体可用规模达到 EB 级。移动云对象存储至今已经历了四代发展历程变迁。从自研发起手,通过功能扩展、深度定制、性能提升到最新一代拥有跨区域全局纠删架构,实现了异地多活容灾效

ApacheAPISIX的博客 581

期待已久的 RocketMQ Summit 等待你的参与!

作为国内重要的源项目,为了帮助更多企业、发者、源贡献者了解 Apache RocketMQ 并加入其中,促进 Apache RocketMQ 及其源生态繁荣发展。由 RocketMQ 中文社区主办,阿里云云原生应用平台、天池社区承办的 RocketMQ Summit 2022 全球发者峰会正式拉帷幕!...

阿里巴巴云原生的博客 207

网关与分布式id

目录 网关 何为网关?为什么要网关? 有哪些常见的网关系统? Netflix Zuul Spring Cloud Gateway Kong APISIX Shenyu 分布式 ID 分布式 ID 介绍 何为 ID? 何为分布式 ID? 分布式 ID 需要满足哪些要求? 分布式 ID 常见解决方案 数据库 算法 源框架 Leaf(美团) 分布式 ID 生成方案总结 注意:本文参考 网关 | JavaGuide 分布式 ID | JavaGuide 网关 .

今天吃了吗的博客 1358

分布式(三)

分布式(三)

folyh 795

Apache、Nginx对比

Apache Nginx优缺点 apache相对于nginx的优点: rewrite ,比nginx 的rewrite 强大 动态页面,nginx处理动态请求很弱,apache可以通过加载模块来支持动态页面处理,但是像JSP这种最好还是放到更强大的tomcat中进行动态页面处理 模块超多,基本想到的都可以找到 少bug ,nginx 的bug相对较多 nginx相对于apache的优点: 轻量级,同样起web服务,比apache占用更少的内存及资源 ,支持更多的并发连接,体现更高的效率,这点使Ngin

大摩羯先生 511

Apache shenyu,Java 微服务网关的首选

简单总结一下网关的职责: - 请求流量的路由转发、负载均衡 - 安全验证(身份认证、请求鉴权等) - 限流、熔断 - 日志、指标度量等 - 协议适配 - 请求缓存 - ...

丁码农 2072

Apache ShenYu与APISIX深度对比:架构与性能分析

在微服务架构盛行的今天,API网关作为流量入口,其性能和稳定性直接影响整个系统的表现。Apache ShenYu(神禹)和APISIX作为两款主流的API网关,分别基于Java和Nginx+Lua技术栈,在架构设计和性能表现上各有特色。本文将从技术架构、核心功能、性能测试三个维度进行深度对比,帮助读者根据业务场景选择合适的网关解决方案。 ## 技术架构对比 ### Apache ShenYu架...

gitblog_00340的博客 572

网关选型对比

网关选型

wokoone的博客 1123

API网关那些事【架构新知系列】

目前随着云原生ServiceMesh和微服务架构的不断演进,网关领域新产品不断出现,各种网关使用的技术,功能和应用领域也不断扩展,在各有所长的前提下也有很多功能重合,网上各种技术PR文章,评测资料和网关落地实践很多都有自己的立场和业务场景,很难客观判断各种网关技术的优缺点和适合场景。 本文从技术实现角度,对各种网关分分类,同时尽量理清各种网关的概念和适用场景(其实很难分清楚),方便大家进行讨论和决策

西涛offbye-移动全栈技术博客 1482

infoq学习笔记-云原生网关当道,三大主流厂商如何“竞 技”?

个趋势是,对于一些小中型客户来说,Higress对于一些简单的4层路由和7层简单路由可能足够了,但对于一些中大型客户来说,他们可能对于复杂的API管理和路由有更多需求,未来可能会朝这个方向发展;在网关的标准方面,我最近在研究时发现,有三个标准,分别是协议标准(HTTP加RESTFUL),文档标准(Swagger),以及路由标准(Kubernetes Ingress / Gateway API)。量的测试案例代码,包括单元测试、E2E测试、混沌测试,以及一些基准测试等,从而保证APISIX具备高可用性。

weixin_40455124的博客 558

云原生内容分享(十一):下一代云原生网关

Q3:Higress 和阿里巴巴的另一款网关 Tengine 有哪些不同?

之乎者也·的博客 3306
上一篇: 中国首位 K8s ingress-nginx reviewer 同时提名成为 Apache APISIX committer
下一篇: ApacheCon Asia 2021: Apache APISIX 技术议题一览
API7.ai 技术团队
博客等级 码龄5年 165粉丝 178原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

API7.ai 技术团队

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

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

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

打赏作者

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

抵扣说明:

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

余额充值