星期六, 九月 09, 2006

Hadoop系列-IPC模型

IPC

  • 实现RPC的一种方法,具有快速、简单的特点。 它不像Sun公司提供的标准RPC包,基于Java序列化。
  • IPC无需创建网络stubs和skeletons。
  • IPC中的方法调用要求参数和返回值的数据类型必须是Java的基本类型,String和Writable接口的实现类,以及元素为以上类型的数组。接口方法应该只抛出IOException异常。

使用模型

  • 采用客户/服务器模型
  • Server:它把Java接口暴露给客户端。指定好监听端口和接受远程调用的对象实例后,通过RPC.getServer()可以得到Server实例。
  • Client:连接Server,调用它所暴露的方法。Client必须指定远程机器的地址,端口和Java接口类,通过RPC.getClient()可以得到Client实例。
  • Server不可以向Client发出调用,但在Hadoop中,有双向调用的需求。 比如在DFS,NameNode和DataNode需要互相了解状态。

没有评论: