从零构建亿级流量API网关

本文讲述了作者在实际工作中构建亿级流量API网关的经验,重点讨论了泛化调用(路由寻址、协议转换、分发调度)和配置中心(定时检查、消息广播、Zookeeper监听)的实现与优化,以及面临的问题和解决方案。通过这些故事,分享了API网关架构设计的思考和经验。
摘要由CSDN通过智能技术生成

这不是一个讲概念的专栏,而且我也不擅长讲概念,每一篇文章都是一个故事,我希望你可以通过这些故事了解我当时在实际工作中遇到问题和背后的思考,架构设计是种经验,我有幸参与到多个亿级系统的架构设计中,有所收获的同时也希望把这些收获分享与大家。

承接上篇,统一了接口之后并没有彻底改变被客户端碾着走的局面,因为还有一个根本的点没有被解决,就是网关对上游服务的适配问题,说白了就是每当上游有一个新的 API 要发布,网关都需要进行开发适配,我们曾经出过一个 API 标准接入的解决方案去推动上游去改造,不过遇到了很大的阻力。这个痛点直到网关实现了 API 的服务泛化调用之后才有所突破,功能一经上线,API 发布在网关就不需要再适配一行代码,完全解耦了网关与平台的业务逻辑,使网关的效能得到释放。不过,内部协议直接被转化成外部协议使得 API 在定义和格式上变得晦涩难懂和似乎不受控制,而且上游 API 的变更让网关很难处理兼容性问题,这就是所谓的有得必有失吧。再后来随着开放平台、共建生态迎来了大潮,这时已经是2015年了,我们又反客为主迅速推动上游进行 API 标准化的接入和改造,这只能说之前网关更关注 API 接入的效率,后来更关注 API 接入的质量。

1。泛化调用

泛化调用在当时起到了非常重要的作用,虽然现在已经很少在网关直接粗暴的提供泛化调用的 API,但是泛化调用在其它地方有了更广泛的应用,比如 API 测试等等。

下面我们就结合着泛化调用来说下网关服务调用的那点事,回顾上文我画的一张 API 网关的架构示意图。首先,泛化调用是网关服务调用组件提供的一种服务调用方式,而整个服务调用概括的讲主要有路由寻址、协议转换、分发调度三个步骤。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值