RPC Ctrip技术方案
RPC中间件在Ctrip云上的技术方案
介绍
通过服务调用,应用程序可以使用 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 设计参照了社区的规范
具体参数含义如下:
参数 | 含义 |
---|---|
appId | 同一命名空间内的服务唯一ID |
methodName | 被调用服务的方法名 |
request | 要发送调用的服务请求 |
httpExtension | HTTP请求方式 |
metadata | 发送请求的元数据(GRPC)或者请求头(HTTP) |
clazz | 请求响应的类型 |
type | 请求响应的类型 |
invokeMethodRequest | 请求对象 |
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
最后修改 01.06.2022: docs: refactor (f7fe0e0)