1 SPICE协议简介 SPICE协议定义了一组协议消息来访问、控制、和接收通过网络从远程计算机设备(如:键盘、视频、鼠标)的操作,并回复发送输出。控制设备既可以在客户端,也可以在服务端。另外,协议定义了一组支持远程服务器从一个网络地址迁移到另一个网络地址。加密传输数据,有一个例外,在选择加密方法上比较灵活。SPICE使用简单的消息传递和不依赖于任何RPC标准或特定的传输层。SPICE通信会...
分类:
其他好文 时间:
2014-12-04 10:15:53
阅读次数:
284
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
在几个月前改造dubbo时,netty4已经稳定很久了,一时手痒,按照netty3-rpc的源码克隆了一套netty4,在修正了大量的包、类型不同之后,基本保持了netty3的风格,并发量小或者数据包很小时,一切都很ok, 在进行大并...
分类:
Web程序 时间:
2014-12-03 00:34:20
阅读次数:
2437
http://zijan.iteye.com/blog/2041894这个项目最早(2008年)是用于一个网络游戏的Cache Server,以及一个电子商务的Web Session服务。后来不断增加新的功能,除了Java还支持C#,到现在已经可以用它来开发网络游戏的服务器。等过些日子我还会开源网络...
分类:
其他好文 时间:
2014-12-03 00:14:34
阅读次数:
160
服务注册与发现的中心,服务的提供者将服务发布到注册中心,服务的使用着到注册中引用服务。
Dubbo的注册中心提供了多种实现,其实现是基于dubbo的spi的扩展机制的,使用着可以直接实现自己的注册中心。
@SPI("dubbo")
public
interface RegistryFactory {
/**
* 连接注册中心.
* 连接注册中心需处理契约...
分类:
其他好文 时间:
2014-12-02 22:42:45
阅读次数:
271