RPC服务调用

执行直接、安全、服务到服务的方法调用

介绍

通过服务调用,应用程序可以使用 HTTP 这样的标准协议来发现并可靠地与其他应用程序通信。

调用逻辑

下图为 Capa 的 RPC 服务调用逻辑

  • Service A 为服务调用方, Service B 为服务被调用方
  • Service A 通过 Capa SDK 发起对 Service B 的服务调用
  • Capa RPC API 是统一的 API 规范
  • 通过 SPI 机制可以找到 Capa RPC API 的具体 RPC 实现 RPC Impl
  • 获取 Service B 的返回数据,并返回给服务调用方 Service A

API 设计

Capa的 api 设计参照了社区的规范

Dapr API

Layotto API

Capa API

具体参数含义如下:

参数 含义
appId 同一命名空间内的服务唯一ID
methodName 被调用服务的方法名
request 要发送调用的服务请求
httpExtension HTTP请求方式
metadata 发送请求的元数据(GRPC)或者请求头(HTTP)
clazz 请求响应的类型
type 请求响应的类型
invokeMethodRequest 请求对象

最后修改 19.11.2021: add RPC Aws app mesh (3456acc)