Dubbo模型從上到下

2021-09-17 08:22:43 字數 871 閱讀 6494

soa,orm,mvc,aop

->rpc,socket,管道(無名管道(單向傳輸),命名管道(可雙向))

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

js不是從上到下執行的嗎?

如果說js是從上到下解釋執行的,那麼,按道理應該會執行錯誤前面的 如 一 輸出1,2,到3報錯 console.log 一 console.log 二 console.log 三 二 直接報錯 console.log 一 console.log 二 console.log 三 為什麼 二直接報錯呢?...

Python劍指offer 分行從上到下列印二叉樹

從上到下按層列印二叉樹,同一層的節點按照從左到右 的順序列印,每一層列印到第一行,例如本題中上乙個問題的二叉樹 輸出形式會是 86 10 5 7 9 11 這道題和前面一道題十分類似,也可以用乙個佇列來儲存要列印的節點。為了把二叉樹的每一行單獨列印到一行裡,我們需要兩個變數 乙個變數表示當前層中還沒...

從上到下列印二叉樹

原理是二叉樹的層次遍歷 可以用乙個佇列輔助,先將二叉樹根節點入隊,然後出隊,將該節點存入vector中,之後判斷根節點的左子樹和右子樹是否為空,若不為空,依次入隊。然後出隊,再訪問出隊的結點是否有左右子樹,以此類推。核心 vectorprintfromtoptobottom treenode roo...