Dubbo模型从上到下

SOA,ORM,MVC,AOP
->RPC,socket,管道(无名管道(单向传输),命名管道(可双向))
->dubbo,hessian,RMI,http
->netty,Mina
->NIO,BIO,AIO:NIO,BIO,AIO的区别
->epoll,poll,select epoll poll sellect,epoll详解(好文),epoll图解,好文
->fd文件描述,用户态和内核态的切换效率

其中在Dubbo中用Zookeeper来维持高可用和可靠性:zookeeper参看网址看这里
其中zookeeper要点:

1)要理解CAP/BASE理论
2)从设计模式看,zookeeper是一个观察者设计模式。它等同于一个文件系统+通知机制
3)Zookeeper主要有两种模式:广播模式和恢复模式
4)其中广播模式用于写数据请求。恢复模式用于当leader倒下之后选举一个新的leader
5)为了实现leader接受follower返回的确认ACK,在leader和follower之间采用一个消息队列,每次leader有事务(proposal,每个proposal有一个唯一的ZXID,这个ID由一个64位的数字产生,低32位是递增的,高32位是一个epcho纪元。每当产生一个新的leader,则进入一个新的纪元。)提交时则进入这个消息队列。实现了异步功能。
6)leader的选举机制:当一个leader倒下之后,采用投票机制,这就说明了为什么集群至少要3个节点(这个是不是跟redis很像呀)。投票的方式采用首先投自己,发现票数不够,投给下一个人,直到选出一个超过半数票的leader。正常这个leader拥有最高的ZXID。
7)zookeeper采用的结构是类似于unix的树形存储结构。

你可能感兴趣的:(Dubbo+zookeeper)