Hadoop3.2.1 【 HDFS 】源码分析 : RPC原理 [九] RPC 请求格式

 

■ length: 每个protobuf类型的数据都包含一个length字段, 这是因为, 在HDFS写入操作时, 使用了writeDelimitedTo()方法。 这个方法会先写入数据的length, 然后再写入数据。
■ RpcRequestHeaderProto: RPC调用头域, 保存了callId、 clientId、 rpcKind等重要信息。 服务器发回的响应消息中会带回clientId、 callId等信息, 用于提取call、 鉴权等。
■ RpcRequest: 要特别注意, 这里的RpcRequest是在ProtobufRpcEngine.Invoker.invoke()方法中构造的RpcRequestWrapper类。 其中包括两个部分。
    requestHeader: 请求元信息, 在什么接口上调用什么方法。 例如在ClientProtocol接口上调用了rename()方法。
    requestParam: 请求参数, 使用protobuf包装的, 例如rename()请求的RenameRequestProto参数。

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章