原创 MIT 6.824 lab2 PartA

引言 在我學習這一系列課程之前再網上看到了這麼一個帖子,說大多數人學6.824都在完成了lab1以後就放棄了。當我完成lec1 lab1的時候嗤之以鼻,MIT的課程難度也不過如此嘛。直到lec2,說實話有點不清楚在講什麼,因爲沒有

原创 谷歌技術探究之GFS

文章目錄引言GFS的主要設計預期GFS架構chunk相關一致性模型系統的交互過程租約(lease)快照副本選擇容錯機制masterchunkFAQ總結 引言 GFS可以說是當今雲計算的鼻祖,直至今日借鑑其思想的HDFS仍舊活躍在我

原创 MIT 6.824 lab1

引言 6.824不愧爲神課,這樣的教學方式纔是真正做到提升學生興趣與水平的好課啊!試問能有多少個學校的課程設計中有這樣高質量的實驗,對比本校的所有計算機課程,一年一個TTMS,又或者是無意義的上機敲個幾百行學習語言的代碼,太真實了

原创 問題解決:6.824 debug call has arguments but no formatting directives

這個問題發生在6.824中當我們去提交測試代碼的時候。 也就是發生如下情況 首先還是不要質疑這個神課的測試代碼,這個時候我們要做的就是去報錯的地方註釋掉這一行,如下: 然後就OK啦

原创 流處理系統

文章目錄引言如何發送事件流流處理不可靠的時鐘容錯總結 引言 清楚數據的類型有助於我們設計一個性能更高,更有針對性的數據系統,比如在線系統,離線系統(批處理)。近實時系統(流處理)等等。比如說批處理系統,這顯然就適合用戶對實時性要求

原创 谷歌技術探究之Chubby

文章目錄引言設計目標系統結構邏輯結構:目錄與文件鎖與sequencer事件與緩存總結 引言 這篇文章是在看了Chubby的論文以後將其上我認爲的重點單獨摘出來,然後加上我自己的一些理解,旨在希望想要了解Chubby的朋友對其能夠有

原创 夜來風雨聲,MapReduce知多少?

文章目錄引言批處理系統MapReduce把數據放在一起排序-合併join輸出容錯落後者 straggler改進總結 引言 正如DDIA上所說,MapReduce論文發表時從某種意義上來說其實並不新鮮。因爲其策略很多都已經在大規模並

原创 試玩Hadoop之踩坑日記

引言 2020年4月23日,這本該是美好的一天,美妙的心情,美妙的天氣,美妙的清晨的第一縷陽光.本着這麼好的天氣不划水白不劃的心態,遂打算早上試玩一下Hadoop,然後下午出去放鬆一下.那時的我肯定不會想到這是如此棘手的一件事情(

原创 再識負載均衡

引言 在上一篇文章<<如何選擇合理的負載均衡算法>>中我介紹了負載均衡分爲基於請求的負載均衡和基於數據的負載均衡,寫下那篇文章的原因是因爲在學習數據的分片的時候第一次認識到了選擇合理負載均衡算法的條件,那篇文章也稍偏向於基於數據的

原创 Raft算法: 集羣成員變更問題

引言 成員變更問題也是Raft非常重要的一部分,但卻有些不好理解,在論文中第一次看到的時候確實是有些不知所云,而且機緣巧合的情況有看到了另一種方法,遂回頭又整理了一下的思路,所以專門記錄一篇文章,以幫助其他有相同疑問的朋友. 問

原创 Paxos算法概述與推導

文章目錄引言問題描述算法描述算法推導Proposer生成提案Accpeter接收提案活鎖multi-Paxosmulti-Paxos與Raft總結 引言 Paxos是一個經典的分佈式共識算法,可以說在很長一段時間內都是分佈式共識算

原创 事務還不懂?這一篇文章就夠了!詳解從事務到分佈式事務

文章目錄引言爲什麼需要事務你不會不想知道的ACID特性錯誤處理的情況弱隔離級別Read uncommittied(讀-未提交)Read committied(讀-已提交)Repeatable Read(可重複讀)寫傾斜與幻讀Ser

原创 Redis源碼解析(8) AOF持久化

文章目錄引言AOF策略事件循環中的flush操作重寫操作重寫結束後主線程操作 Redis源碼解析(1) 動態字符串與鏈表 Redis源碼解析(2) 字典與迭代器 Redis源碼解析(3) 跳躍表 Redis源碼解析(4) 整數集合

原创 Redis源碼解析(14) 哨兵機制[1] 結構與初始化

文章目錄引言結構與初始化初始化結構sentinelTimer Redis源碼解析(1) 動態字符串與鏈表 Redis源碼解析(2) 字典與迭代器 Redis源碼解析(3) 跳躍表 Redis源碼解析(4) 整數集合 Redis源碼

原创 節點間數據複製

文章目錄引言如何確保主從節點間數據一致如何處理節點失效複製日誌多主節點複製無主節點複製 引言 複製是在各個節點中存儲相同的數據,而數據複製模式的背後是分佈式節點的部署方式.通過這些方式我們希望達到以下幾個目的: 數據在地理上據用