目录
简单来说:
举个例子:
简单来说:
1)是一个跨平台跨语言的通信协议,定义和创建跨语言服务,是一个高性能、轻量级RPC框架。
2)开发者无需关注不同语言/相同语言服务间如何通信,只需定义IDL协议(接口方法+数据类型)便可。
3)CS架构体系。
client | server |
业务逻辑代码 | 业务逻辑代码 |
Client thrift编译器自动生成的代码 | Processor 用户层 thrift编译器自动生成的代码,高效的接收请求,负责对客户端的请求做出响应 |
TProtocol 协议层,对数据进行序列化和反序列化 | TProtocol 协议层,对数据进行序列化和反序列化(数据类型解析) |
TTransport 传输层,传输数据功能 | TTransport 传输层,传输数据功能 |
举个例子:
如何实现通用mockserver?
1)如何实现vip MockServer接收不同服务不同接口请求?
2)vip MockServer如何根据接口名(重复/不重复)、请求参数精准识别出服务名?
解决方案:
1)实现通用mock服务的thrift协议
2)改写底层架构,Processor用户层通用 rpc携带接口名+「接口名-服务名列表」获的服务名列表,Protocol协议层通过 服务名列表+ rpc携带请求参数 + 「服务名-内存module」获得真实服务名,归一化到一个handler处理