天天看點

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的樹形存儲結構。

繼續閱讀