> 文章列表 > API生命周期看护概述

API生命周期看护概述

API生命周期看护概述

一、基本概述

API生命周期看护,从本质上来说是一个很宽泛的话题。与API First相比,后者是一种思想,而前者是一种流程与手段。
这里,我们从API数据来源、流程简述以及基本属性这几个维度来做简单叙述。

二、数据来源

首先需要回答一个核心问题:作为元数据的API,其本身的数据来源是什么?
从广义上来说,API数据来源可以分成两种:一类为正向,一类为逆向

1、正向数据

所谓正向,也即从设计阶段而来的API定义数据,从本质上来说,也应当作为正式的API数据、同时也是最理想的API信息收集手段,但实际操作起来却有诸多问题,这里暂且不谈,后续单独讨论。

2、逆向数据

所谓逆向,则是从API实现、运维阶段获取到的相关数据。这里,我们并不关系API是怎么设计、定义、规划的,我们只关注服务自身接口在底层调用时的具体情况,并将这些数据分析、归纳与整合,作为API元数据。

由于API设计流程的僵化与不合理,以及需求分析阶段的粗粒度与随意,一般而言服务并不会对API的设计投入过多的关注,而只关心API的实现与功能、性能和可靠性,因此正向视角很难确保完整性,从而转向逆向视角。

回到数据本身,一般而言,我们使用APM调用链监控手段来对服务现网实际调用情况进行数据收集,这样就能以最纯粹的接口实际使用者视角来对数据进行采集、分析,避免从设计段的”人为定义“视角漏收集、错收集相关接口数据。

三、生命周期流程简述

从流程视角来看,整个流程可以分为:

  • API规划与定义
  • API设计
  • API测试
  • API注册
  • API发布
  • API监控与运维
  • API日落

整体阶段流程较多,每个阶段都需要分门别类仔细探讨,这里不再赘述。

四、API基本属性

对于API本身而言,存在一些基本属性:

1、API组成

对于一个API,如果是基于RESTful准则,那么可以分为urlmethod两个部分。RESTful是另一个很复杂的命题,简单来说,就是一种“面向资源操作”的请求范式,同时也是使用较为广泛的一种模式。

2、API暴露层级

根据API的暴露层级不同,API可以分为OpenAPIInnerAPI
对于OpenAPI而言,我们一般称之为“开放接口”,这类接口可以理解为服务对外的能力暴露,其他用户、服务可以通过遵循一定的规则来订阅、调用这些接口,由此来获得服务本身对外提供的相关数据等能力。
由于这类接口,因此一般而言需要有严格的性能规格与SLA,并且有完善易懂的接口文档与SDK等。

对于InnerAPI而言,顾名思义,是服务自身的私有接口,或叫内部接口,主要是服务自身内部调用,或服务下各个微服务之间相互请求、调用的接口。
这类API数量更多,但由于服务间调用总体调用量、调用方法与参数总体可知可控,因此在要求上并没有OpenAPI苛刻。