RPC(hadoop的实现)

这里客户端并不是“头信息”和“请求数据”一起发发送,而是分两次发送。
先发如下的头信息,然后才发送请求的服务和参数:
/**
* Write the connection header - this is sent when connection is established
* +----------------------------------+
* | "hrpc" 4 bytes |
* +----------------------------------+
* | Version (1 byte) |
* +----------------------------------+
* | Service Class (1 byte) |
* +----------------------------------+
* | AuthProtocol (1 byte) |
* +----------------------------------+
*/
Client:
客户端较直接,是普通的i/o调用。Call,Connection是Client内部类。

HadoopRpcClient.png

Serve:
服务端使用的NIO的方式。
1)Serve 在启动(start函数)的时候,构造Listener,Responder,Handler(数组)Listener 构造出Reader(数组)注释:构造数组多个为了提升处理能力。2)Serve 构造如下几个线程类分别处理如下对应nio事件Listener:Acceptable Reader:Readable Responder:Writable

hadoopRpcServe.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容