术语表
网络化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.com
和content-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后端在运行时,有可能很近,也可能很远。某些情况下,它们可能被打包编译成一个单独的二进制文件,在一个单进程里面运行。