术语表

网络化API(Networked APIs)

  • 在计算机网络上运转的面向应用编程的API。API之间通过包括HTTP在内的各种网络协议进行通讯,不同的机构定义出大量的API,通常都是供大于求.

谷歌API(Google APIs)

  • 由谷歌提供的网络化API。大部分都托管在googleapis.com. 不包含其他类型的API,比如客户端的第三方库和SDK.

API接口(API Interface)

  • 一个Protocol Buffers的服务定义,通常是映射到多种编程语言的一个具体接口。 一个API接口应该可以被任意数量的API服务调用。

API版本

  • API接口、或一组API接口(如果它们一起定义)的版本。 API版本通常由字符串(例如“v1”)表示,并呈现在API请求和协议缓冲区的包名中。

API方法(API Method)

  • 在一个API接口中的一个独立行为,通常是映射到多种编程语言的API接口中的一个函数。通过一个rpc定义的Protocol Buffers呈现。

API请求(API Request)

  • 一个单独的API方法的调用.常见的应用场景有:计费、日志、监控和频率限制。

API服务(API Service)

  • 一个部署在一个或多个网络终端上的,实现了一个或多个API接口的服务。 一个API服务的名称应该具有一定的辨识度(符合RFC 1035 DNS规范),比如calendar.googleapis.com。

API终端(API Endpoint)

  • 一个API服务用来响应真实的API请求的网络地址,比如pubsub.googleapis.comcontent-pubsub.googleapis.com

API产品(API Product)

  • 一个API服务,再加上服务条款,文档,客户端库,服务支持等相关内容,就构成了API产品,统一的呈现给客户。比如,谷歌日历(Google Calendar API) 注: 人们有时候简单的以一个API来代指一个API产品。

API服务定义(API Service Definition)

  • 用来定义一个API服务的API接口定义(.proto文件)和API服务配置(.yaml文件),统称为API服务定义(API Service Definition)。

API消费者(API Consumer)

  • 使用API服务的实体。以谷歌API(Google APIs)为例,通常是一个拥有客户端应用或者服务器资源的谷歌项目。

API生产者(API Producer)

  • 生产API服务的实体。以谷歌API(Google APIs)为例,通常是一个拥有API服务的谷歌项目。

API后端(API Backend)

  • 实现了一个API服务的商业逻辑的一组服务加上相关的基础设施。

API前端(API Frontend)

  • 跨多个API服务的,提供通用功能的,一组服务加上相关的基础设施。比如负载均衡和验证。注:API前端和API后端在运行时,有可能很近,也可能很远。某些情况下,它们可能被打包编译成一个单独的二进制文件,在一个单进程里面运行。