《分散式快取》讀書筆記二
如果一個鎖守護多個相互獨立的狀態變數,可以通過分拆鎖,使每一個鎖守護不同的變數,從而改進可伸縮性
分拆鎖有時候可以被擴充套件,分成若干加鎖塊的集合,並且使他們歸屬於相互獨立的物件,這樣的情況就是分離鎖
系統提倡服務無狀態,分散式環境中任何節點也是無狀態的,可以隨意重啟和替代,便於做擴充套件
考慮冪等性設計
C:任何的讀寫都應該看起來是“原子”的,或序列的,所有的讀寫請求都好像被全域性排序
A:對任何非失敗節點都應該在有限時間內給出請求的迴應
P:允許節點之間丟失任意多的訊息
Paxos 理論簡介
Prepare 階段:
1.Proposer 傳送 Prepare,生成全域性唯一且遞增的提案ID,向Paxos 叢集的所有機器傳送請求
2.Acceptor 應答 Prepare
Accept 階段:
1.Proposer 傳送 Accept(Prepare階段多數派返回值,就是超過 n/2+1,n為機器數)
2.Acceptor 應答 Accept
2PC:
1.提交請求階段確定相關參與者對於事務處理是否準備就緒
2.提交階段基於投票結果,由協調器決定提交事務或者是退出事務處理
3PC在2PC的基礎上增加了一次互動,既preCommit 預提交,只要預提交成功,則一定保證doCommit提交成功
Raft角色型別:
領導者:處理所有客戶端互動,日誌複製等動作
選民:完全被動的角色,等待被通知投票
候選人:選舉過程中提名自己的實體,一旦選舉成功,則成為領導者
Gossip 去中心化分散式協議
心跳檢測:收到心跳可以確認節點正常,但是收不到心跳卻不能確認該節點已經死亡
快取的結果為空也要進行快取
snowflake 優缺點
優點:
基於記憶體,很快快。
沒有什麼依賴,實現也特別簡單。
可以根據實際情況調整各各位段,方便靈活。
缺點:
只能趨勢遞增。(有些也不叫缺點,網上有些如果絕對遞增,競爭對手中午下單,第二天在下單即可大概判斷該公司的訂單量,危險!!!)
依賴機器時間,如果發生回撥會導致可能生成 id 重複。
LRU核心思想是如果資料最近被訪問過,那麼將來被訪問的概率也更高
相關文章
- 分散式快取分散式快取
- The Great Gatsby讀書筆記(二)筆記
- TIJ讀書筆記(二) (轉)筆記
- 分散式快取方案分散式快取
- redis→分散式快取Redis分散式快取
- 聊聊分散式快取分散式快取
- 聊聊本地快取和分散式快取快取分散式
- EhCache 分散式快取/快取叢集分散式快取
- Masa Framework原始碼解讀-02快取模組(分散式快取進階之多級快取)Framework原始碼快取分散式
- 讀《深入分散式快取 - 從原理到實踐》分散式快取
- 《Go 語言程式設計》讀書筆記 (二)函式Go程式設計筆記函式
- 文字上的演算法讀書筆記四--分散式系統演算法筆記分散式
- 分散式快取擊穿分散式快取
- SmartSql Redis 分散式快取SQLRedis分散式快取
- 分散式快取NCache使用分散式快取
- Redis——快取穿透、快取擊穿、快取雪崩、分散式鎖Redis快取穿透分散式
- 分散式快取 - 快取簡介,常用快取演算法分散式快取演算法
- 《深入剖析Tomcat》讀書筆記(二)Tomcat筆記
- 人月神話讀書筆記(二) (轉)筆記
- 讀書筆記筆記
- 讀書筆記...筆記
- 分散式快取 - 概念解釋分散式快取
- 雲上的分散式快取分散式快取
- 分散式之快取擊穿分散式快取
- 關於分散式快取memcache分散式快取
- k04_分散式快取分散式快取
- 分散式系統快取系列一 認識快取分散式快取
- 用Java寫一個分散式快取——快取管理Java分散式快取
- 《Effective Java 第二版》讀書筆記Java筆記
- 《計算機網路》讀書筆記(二)計算機網路筆記
- 少有人走的路 讀書筆記二筆記
- [讀書筆記]軟體估算-估算方法(二)筆記
- ASP.NET2.0揭祕讀書筆記之八——頁面輸出快取ASP.NET筆記快取
- 精讀《函式快取》函式快取
- 快樂的Linux命令列--讀書筆記1Linux命令列筆記
- 反應式程式設計讀書筆記程式設計筆記
- 分散式系統關注點——360°全方位解讀「快取」分散式快取
- 分散式系統中有哪些快取?分散式快取