上一篇介绍了 API 以及和 API 无关的趋势,接下来咱们看看和 API 全生命周期无关的产品。
1.1 全生命周期的使用者是谁
真正产品使用者是那些 与 API 打交道的人 ,也就是研发团队。 角色可能是:
- 开发人员:前端、后端
- 测试
- 运维
1.2 使用者日常工作流程
他们日常工作在做什么呢?
产品经理提出性能需要,说这个产品要设计成什么样子,开发接到需要之后,依据需要开始开发,开发完了提交测试,测试完了迭代上线,而后产品验收后让运维人员公布上线。
1.3 全生命周期产品
实际上 API 贯通了整个产品交付的流程,近年来越来越多公司开始关注 API 的连贯价值,将更多的研发精力投入到围绕 API 的工作中。
以 Eolink 为例,API 全生命周期产品次要包含四大块:
- 开发
- 测试
- 运维
- 凋谢
咱们的产品如何帮忙研发团队去治理各个生命周期外面的 API 呢?
1.3.1 API 研发治理 & 自动化测试
先分享两个理念,文档驱动开发 以及 测试驱动开发。
文档驱动开发 指的是在开发之前先把文档写好再进行开发,可能帮你提前思考,这就好比咱们在做题之前须要先理解分明题目要求,否则不审题就下笔很容易导致最初返工。
除此之外还能不便合作,就像造车,不是一个人能实现的,造车身的人如果提前能通知造底盘的人轮子要多大,造底盘的就不必等他了,效率进步!
而测试驱动开发指的是在开发之前先把测试计划 / 用例写好,要求开发人员开发的代码可能顺利通过测试,如果测试不通过则继续进行改良。这就好比咱们考试前会先理解考试通过的规范,没有规范乱答一通,后果必定不会太好。
而通过以上两种开发方式进行联合后就是 Eolink API 研发治理平台 的设计理念:文档与测试驱动开发(DTDD)。
上面我应用一个很直观的图来展示在咱们平台怎么践行下面的理念。
如果没应用咱们平台,流程可能是:
后端先开发 API,开发完了写了文档通知前端,前端等文档好了之后再对接,最初提交给测试。
发现没有,用了咱们平台之后,很多流程都能够提前到开发阶段了,串行间接变并行,这效率不进步才有怪!
在咱们平台简直所有的合作工作都是围绕着 API 文档进行的,所以开发流程就变成了后端先设计好文档,而后入手去开发 API。
前端对页面进行开发,光写页面必定不够,还得通过 API 拿数据对接页面,前端能够应用平台上的 Mock 性能先对接,后端好了之后间接就能够提交给测试。
测试人员在开发阶段也没有闲着,文档进去之后他们就能够去筹备测试用例了,等联调完后间接一键回归测试。
1.3.2 API 监控
上线之后,某些要害业务比如说登录、购买性能挂了的话对产品影响会很大,所以要对这些 API 进行监控——依照肯定频率发动 API 申请。
例如这是应用 Eolink API 监控去监控线上的某个要害性能,如果业务挂了它就会给相干人员发邮件,揭示他们连忙去解决事变。
1.3.3 API 网关
在 API 生命周期的运维阶段还有一个产品,那就是 API 网关。
后面提到过,个别微服务架构的零碎都会须要 API 网关,这是为什么呢?
我还是拿产品设计当例子,尽管说咱们拆分了极速版和标准版,但外面有一些根底性能必定是一样的,如果每个产品都实现一遍,老本是不是很高?那怎么办?
有人就提出,这样吧,当前每次开发前,都要给产品老大看一下,如果有雷同的需要,他来调度资源。
API 网关就是就是像产品老大这样的人,无论你想拜访哪个服务,都先来到网关这,网关再帮你转发,网关就是微服务的代言人。
个别网关会做什么呢?
1.3.3.1 负载平衡
这是客户端向服务端发动申请的示例,这时候只有一个 API 申请,网络非常顺畅。
随着上线的人越来越多,向服务器申请的客户端也越来越多,就像 12306 高峰期抢票,拜访的人越多,服务越容易挂掉,它容量就这么大,怎么办?
微服务架构有个个性就是能够横向拓展,那这时候咱们横向拓展多一台服务器,再让网关帮咱们统一分配申请,这样就将负载均分到了不同的服务器,以求均衡,这就是所谓的负载平衡。
除此之外,API 网关还能够做对立的身份验证,不合乎身份验证的申请挡回去,以及退出黑白名单和限速等等避免资源滥用。
1.3.4 API 开放平台
好,讲完了研发运维阶段的产品,咱们来看看 API 凋谢和交易的产品,它们是 API 开放平台和 API 交易中心。
使用者能够在企业外部将 API 凋谢给其余团队用,也能够作为产品例如短信接口售卖给内部的人。
Eolink 的 APISpace
好的,总结一下,API 全生命周期能够:
- 提供一站式的 API 治理产品晋升企业 API 研发管理效率,解决企业外部服务间 API 治理、测试、性能和平安的问题。
- 建设对立的 API 交易平台,帮忙企业对外提供 API 服务,打造 API 经济,帮忙寰球开发者查找、凋谢、购买、测试及应用 API。
Eoapi 处在 API 全生命周期的开发阶段,托管前面所有产品的 API 元数据,现阶段咱们有两个指标:
- 丰盛 Eoapi 在 API 设计、API 调试阶段的性能,优化体验
- 通过插件市场丰盛生态,和其余产品买通
咱们的开源我的项目代码仓库:https://github.com/eolinker/e…
如果你对咱们的我的项目感兴趣,无妨去试试,有任何对于 Eoapi 的疑难,咱们能够来这里聊聊。