两个服务间进行接口调用,通过调用API的形式进行交互,这是常见CS架构实现的模式,客户端通过调用API即可使用服务端提供的服务。相较于SPI这种模式,就是服务端只规定服务接口,但具体实现交由第三方或者自身来实现,API这种模式是具体的实现和API接口都是服务端来实现的。
一、API架构介绍
1.介绍
两个服务间进行接口调用,通过调用API的形式进行交互,这是常见CS架构实现的模式,客户端通过调用API即可使用服务端提供的服务。相较于SPI这种模式,就是服务端只规定服务接口,但具体实现交由第三方或者自身来实现,API这种模式是具体的实现和API接口都是服务端来实现的。
API 使用协议或规范来定义那些通过网络传输的消息的语义和信息。这些规范构成了 API 的体系结构。API架构发展的历程:
2.分类
按照API的特征,一般可以将其分为一下几类:
- Web API:
RESTful
- 查询 API:
GraphQL
- RPC API :
SOAP
和gRPC
- 实时通信API:
websocket
二、4种常见API架构设计
1.SOAP
架构介绍
SOAP 协议基于XML,应用于安全性和可靠性至关重要的金融服务和支付网关,比较适合对数据安全等级较高的场景。
使用场景
目前,SOAP 体系结构最常用于企业内部或与其信任的合作伙伴的内部集成。由于高度安全的数据传输,SOAP 严格的消息结构,安全性和授权功能使其成为在 API 和客户端之间执行正式软件协议的最合适的选择,同时又符合 API 提供者与 API 使用者之间的法律合同。这就是为什么金融组织和其他企业用户选择适用 SOAP 的原因。
实现原理
SOAP基于XML格式,但由于XML格式的复杂性,SOAP也是最冗长的一种API架构模式。SOAP 的消息由这些部件组成:
-
信封标签:用于开始和结束每条消息
-
请求头:用于表示消息是否由某些规范或额外要求的来确认
-
请求体:包含请求或响应的正文
-
故障通知:包含了可能在请求处理过程只能够发生的任何错误
SOAP 支持有状态和无状态消息传递。在有状态的情况下,服务器存储接收到的信息可能非常繁琐复杂。 但这对于涉及多方和复杂交易的操作是合理的。
如果需要支持有状态的交互,可以将token信息保存在header中,后续的请求带上该token即可。
优点和缺点
优点:<