搞懂 API 全生命周期,我只需要这一篇文章!

上一篇介绍了 API 以及和 API 有关的趋势,接下来我们看看和 API 全生命周期有关的产品。

1.1 全生命周期的使用者是谁

真正产品使用者是那些与 API 打交道的人,也就是研发团队。角色可能是

  • 开发人员:前端、后端
  • 测试
  • 运维

搞懂 API 全生命周期,我只需要这一篇文章!_第1张图片

1.2 使用者日常工作流程

他们日常工作在做什么呢?

产品经理提出功能需求,说这个产品要设计成什么样子,开发接到需求之后,根据需求开始开发,开发完了提交测试,测试完了迭代上线,然后产品验收后让运维人员发布上线。

搞懂 API 全生命周期,我只需要这一篇文章!_第2张图片

1.3 全生命周期产品

实际上 API 贯穿了整个产品交付的流程,近年来越来越多公司开始关注 API 的连接价值,将更多的研发精力投入到围绕 API 的工作中。

以 Eolink 为例,API 全生命周期产品主要包括四大块:

  • 开发
  • 测试
  • 运维
  • 开放

搞懂 API 全生命周期,我只需要这一篇文章!_第3张图片

我们的产品如何帮助研发团队去管理各个生命周期里面的 API 呢?

1.3.1 API 研发管理&自动化测试

先分享两个理念,文档驱动开发以及测试驱动开发

文档驱动开发指的是在开发之前先把文档写好再进行开发,能够帮你提前思考,这就好比我们在做题之前需要先了解清楚题目要求,否则不审题就下笔很容易导致最后返工。

除此之外还能方便协作,就像造车,不是一个人能完成的,造车身的人如果提前能告诉造底盘的人轮子要多大,造底盘的就不用等他了,效率提高!

搞懂 API 全生命周期,我只需要这一篇文章!_第4张图片

而测试驱动开发指的是在开发之前先把测试方案/用例写好,要求开发人员开发的代码能够顺利通过测试,如果测试不通过则持续进行改进。这就好比我们考试前会先了解考试通过的标准,没有标准乱答一通,结果肯定不会太好。

搞懂 API 全生命周期,我只需要这一篇文章!_第5张图片

而通过以上两种开发方式进行结合后就是 Eolink API 研发管理平台 的设计理念:文档与测试驱动开发(DTDD)。

搞懂 API 全生命周期,我只需要这一篇文章!_第6张图片

下面我使用一个很直观的图来展现在我们平台怎么践行上面的理念。

如果没使用我们平台,流程可能是:

后端先开发 API,开发完了写了文档告诉前端,前端等文档好了之后再对接,最后提交给测试。

搞懂 API 全生命周期,我只需要这一篇文章!_第7张图片

发现没有,用了我们平台之后,很多流程都可以提前到开发阶段了,串行直接变并行,这效率不提高才有怪!

搞懂 API 全生命周期,我只需要这一篇文章!_第8张图片

在我们平台几乎所有的协作工作都是围绕着 API 文档进行的,所以开发流程就变成了后端先设计好文档,然后动手去开发 API。

前端对页面进行开发,光写页面肯定不够,还得通过 API 拿数据对接页面,前端可以使用平台上的 Mock 功能先对接,后端好了之后直接就可以提交给测试。

测试人员在开发阶段也没有闲着,文档出来之后他们就可以去准备测试用例了,等联调完后直接一键回归测试。

1.3.2 API 监控

上线之后,某些关键业务比如说登录、购买功能挂了的话对产品影响会很大,所以要对这些 API 进行监控——按照一定频率发起 API 请求。

搞懂 API 全生命周期,我只需要这一篇文章!_第9张图片

例如这是使用 Eolink API 监控去监控线上的某个关键功能,如果业务挂了它就会给相关人员发邮件,提醒他们赶紧去处理事故。

搞懂 API 全生命周期,我只需要这一篇文章!_第10张图片

1.3.3 API 网关

在 API 生命周期的运维阶段还有一个产品,那就是 API 网关。

前面提到过,一般微服务架构的系统都会需要 API 网关,这是为什么呢?

搞懂 API 全生命周期,我只需要这一篇文章!_第11张图片

我还是拿产品设计当例子,虽然说我们拆分了极速版和标准版,但里面有一些基础功能肯定是一样的,如果每个产品都实现一遍,成本是不是很高?那怎么办?

有人就提出,这样吧,以后每次开发前,都要给产品老大看一下,如果有相同的需求,他来调度资源。

搞懂 API 全生命周期,我只需要这一篇文章!_第12张图片

API 网关就是就是像产品老大这样的人,无论你想访问哪个服务,都先来到网关这,网关再帮你转发,网关就是微服务的代言人。

搞懂 API 全生命周期,我只需要这一篇文章!_第13张图片

一般网关会做什么呢?

1.3.3.1 负载均衡

这是客户端向服务端发起请求的示例,这时候只有一个 API 请求,网络十分顺畅。

搞懂 API 全生命周期,我只需要这一篇文章!_第14张图片

随着上线的人越来越多,向服务器请求的客户端也越来越多,就像 12306 高峰期抢票,访问的人越多,服务越容易挂掉,它容量就这么大,怎么办?

搞懂 API 全生命周期,我只需要这一篇文章!_第15张图片

微服务架构有个特性就是可以横向拓展,那这时候我们横向拓展多一台服务器,再让网关帮我们统一分配请求,这样就将负载均分到了不同的服务器,以求平衡,这就是所谓的负载均衡。

搞懂 API 全生命周期,我只需要这一篇文章!_第16张图片

除此之外,API 网关还可以做统一的身份验证,不符合身份验证的请求挡回去,以及加入黑白名单和限速等等防止资源滥用。

1.3.4 API 开放平台

好,讲完了研发运维阶段的产品,我们来看看 API 开放和交易的产品,它们是API 开放平台和 API 交易中心。

使用者可以在企业内部将 API 开放给其他团队用,也可以作为产品例如短信接口售卖给外部的人。

搞懂 API 全生命周期,我只需要这一篇文章!_第17张图片
Eolink 的 APISpace

搞懂 API 全生命周期,我只需要这一篇文章!_第18张图片

好的,总结一下,API 全生命周期可以:

  • 提供一站式的 API 管理产品提升企业 API 研发管理效率,解决企业内部服务间 API 管理、测试、性能和安全的问题。
  • 建立统一的 API 交易平台,帮助企业对外提供 API 服务,打造 API 经济,帮助全球开发者查找、开放、购买、测试及使用 API。

Eoapi 处在 API 全生命周期的开发阶段,托管后面所有产品的 API 元数据,现阶段我们有两个目标:

  • 丰富 Eoapi 在 API 设计、API 调试阶段的功能,优化体验
  • 通过插件市场丰富生态,和其他产品打通

我们的开源项目代码仓库:https://github.com/eolinker/e...

如果你对我们的项目感兴趣,不妨去试试,有任何关于Eoapi 的疑问,我们可以来这里聊聊。

你可能感兴趣的:(api程序员开发工具)