第七章html
先講的RPC(Remote Procedure Call)即遠程過程調用,就是說一臺機器上的函數要調用另一臺機器的函數,本質上就是遠程通訊。算法
由客戶端向服務端請求一大堆RPC,就組成了一個transaction,中文叫事務。固然,可能會有不少客戶端同時向服務端請求事務,那麼就會出現併發問題,所以單個事務是必須有原子性的,要麼一次執行完,要麼就回滾到執行前的樣子。事務須要有ACID的屬性。網絡
既然不少客戶端同時向服務端請求事務的時候可能會出現併發問題,那麼該怎麼解決呢?兩種方案:悲觀算法和樂觀算法。悲觀算法就是加鎖,經常使用的一種叫two phase locking,不過既然是加鎖就可能出現死鎖,那麼跟單進程的狀況同樣,也有一些方法去檢查和避免死鎖。樂觀算法的效果比加鎖要好,利用到了時間戳。兩種算法這裏講的稍微詳細些https://www.jianshu.com/p/25d78bab9386。併發
而後是replication control,就是說一個對象要在不一樣的機器裏面保存副本,那麼有兩種方案,一種是集羣中選出一個leader,由它處理讀寫和同步,另外一種是沒有什麼leader,只要保存副本的都一直保持相同的讀寫和同步。比較經常使用的一種replication control叫two phase commit,可看這裏https://www.cnblogs.com/sunddenly/articles/4072882.html。dom
第八章函數
先講了一堆數據處理算法...而後是網絡結構...我都沒聽。而後是scheduling,單機的scheduling算法FIFO,最小任務優先,最大有限局,round robin,具體這裏能夠看一下http://www.javashuo.com/article/p-votjtlml-dn.htmloop
而後是hadoop的scheduling,capacity scheduler和fair scheduler。最後講了一個比較新的dominant resource fair scheduler。老實說這幾個我困得不行一點沒聽....net
明天把第九章隨便聽聽這門課就能夠結束了...htm