RPC


RPC

rpc使用:

使用步骤:

(这里server就是被委托类 类似aop,只是前后的事情是server的连接网络,监听,关闭,流等等,最后调用反射调用)

  • 定义rpc协议: //定义一个服务端接口(继承Versionedprotocol)
  • 实现rpc协议: //实现一个服务端接口
  • 实现一个rpc.server: 网络编程服务端监听客户端。
  • 实现一个rpc client:rpc.proxy(cprotocol,versionID,addr,conf) //调用java的proxy=》
  • 实现invoke 调用网络客户端传输,内容是远程调用的类参数信息等等,仅传输。 下面是详细的调用ipc.client.

抽象序列

上层抽象RPC总体描述:

通信:同步/异步 stub程序:相当’本地调用‘:参数/过程/返回值) 调度:请求和响应的调度

  • 上层抽象RPCBinder:(抽象序列化引擎)
  • 上层抽象hadoop.RPC: getProxy createServer getServer setEngine
  • 上层抽象: 客户端根据协议实现proxy,调用代理方法invoke
  • 上层抽象: 使用hadoop.ipc包中reactor模式架构,指定序列化引擎,定义基本reacotor架构 参考hadoop.ipc包
  • 上层抽象: 序列化第三方作用socketChangel,和序列化实现
  • 上层抽象: nio的socket Client

关于slider的rpc类图:

相关的slider rpc yarnclient的pb上层调用:

参考:

[http://www.jomolangma.com/?p=130] [http://blog.csdn.net/macyang/article/details/8284790] [http://book.51cto.com/art/201312/422048.htm] [http://fengshenwu.com/blog/category/bigdata/hadoop2yarn/]

[http://www.cnblogs.com/dycg/p/3934394.html]

大山 /
Published under (CC) BY-NC-SA in categories 逻辑与现象  框架设计概念  tagged with 服务  rpc