Hadoop的RPC的通信与其他系统的RPC通信不太一样,作者针对Hadoop的使用特点,专门的设计了一套RPC框架,这套框架个人感觉还是有点小复杂的。所以我打算分成Client客户端和Server服务端2个模块做分析。如果你对RPC的整套流程已经非常了解的前提下,对于Hadoop的RPC,你也一定可以非常迅速的了解的。OK,下面切入正题。
Hadoop的RPC的相关代码...
分类:
其他好文 时间:
2014-12-05 21:27:44
阅读次数:
281
概述:gSOAP工具为c和c++服务器和客户端Web Service应用程序提供了一个跨平台的的开发工具。简化了在任何一种应用类型中使用xml的难度。它支持:1.SOAP 1.1/1.2 RPC encoding and document/literal styles2.WSDL 1.13.MTOM...
分类:
其他好文 时间:
2014-12-05 10:39:40
阅读次数:
250
1 SPICE协议简介 SPICE协议定义了一组协议消息来访问、控制、和接收通过网络从远程计算机设备(如:键盘、视频、鼠标)的操作,并回复发送输出。控制设备既可以在客户端,也可以在服务端。另外,协议定义了一组支持远程服务器从一个网络地址迁移到另一个网络地址。加密传输数据,有一个例外,在选择加密方法上比较灵活。SPICE使用简单的消息传递和不依赖于任何RPC标准或特定的传输层。SPICE通信会...
分类:
其他好文 时间:
2014-12-04 10:15:53
阅读次数:
284
一、NFS服务简介
NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
NFS 的基本原则是“容许不同的客户端及服务端通过一组...
分类:
其他好文 时间:
2014-12-03 21:34:33
阅读次数:
175
Dubbo作为一个分布式的服务治理框架,提供了集群部署,路由,软负载均衡及容错机制
下图描述了dubbo调用过程中的对于集群,负载等的调用关系。
Cluster
将Directory中的多个Invoker伪装成一个Invoker, 对上层透明,包含集群的容错机制
Cluster接口定义
@SPI(FailoverCluster.NAME)
public
interf...
分类:
其他好文 时间:
2014-12-03 21:33:00
阅读次数:
122
集群目录服务Directory, 代表多个Invoker, 可以看成List,它的值可能是动态变化的比如注册中心推送变更。集群选择调用服务时通过目录服务找到所有服务
Directory的接口定义
public
interfaceDirectory extends Node {
//服务类型
ClassgetInterface();
//列出所有服务的可执行对象
List>l...
分类:
其他好文 时间:
2014-12-03 21:31:29
阅读次数:
149
Router服务路由, 根据路由规则从多个Invoker中选出一个子集AbstractDirectory是所有目录服务实现的上层抽象, 它在list列举出所有invokers后,会在通过Router服务进行路由过滤。
Router接口定义
public
interface Router extendsComparable {
URL getUrl();
List> route...
分类:
其他好文 时间:
2014-12-03 21:30:29
阅读次数:
151
LoadBalance负载均衡, 负责从多个 Invokers中选出具体的一个Invoker用于本次调用,调用过程中包含了负载均衡的算法,调用失败后需要重新选择
LoadBalance接口定义
@SPI(RandomLoadBalance.NAME)
public
interface LoadBalance{
@Adaptive("loadbalance")
Invoker sel...
分类:
其他好文 时间:
2014-12-03 21:29:47
阅读次数:
162
最近准备学习Hadoop RFC的模块架构学习,但是这个模块用到了比较多的java中的比较新颖的知识,比如RMI,和动态代理的了,以及还有在jdk1.4中新添加的额NIO的知识。所以决定先花一点时间,复习一下前2个模块的知识。这样对于Hadoop的RPC通信会比较了解。java RMI和Proxy动态代理我不会高谈阔论,我主要简单的举出两个例子,分析他的调用步骤,,再结合一下他的源码,达到理解,会...
分类:
编程语言 时间:
2014-12-03 12:36:25
阅读次数:
369
第一部分:什么是RPC RPC(Remote Procedure Call Protocol)–远程过程协议调用。通过RPC我们可以从网络上的计算机请求服务,而不需要了解底层网络协议。Hadoop底层的交互都是通过rpc进行的。例如:datanode和namenode、tasktracker和...
分类:
其他好文 时间:
2014-12-03 12:03:43
阅读次数:
204