Tachyon原始碼結構分析(三)

2021-07-13 20:19:01 字數 720 閱讀 2099

tachyon目前剛剛發布了新版本0.6.1,最新的開發版仍為0.7.0-snapshot。本篇我們仍然選擇tachyon-0.6.0版本保持與前兩篇同步。

master模組

master模組是tachyon的核心模組,負責管理和協調worker與client的正常工作。master儲存了tachyon系統的元資料資訊、檔案結構、日誌和映象以及所有worker的狀態資訊,同時向client提供了關於元資料的處理操作,包括建立檔案、建立**、刪除檔案等。master還提供了基於重計算的丟失檔案恢復機制來容錯,提供了基於zookeeper的競爭機制來保證master節點的健壯性,提供了心跳機制來保證tachyon系統的可靠性。總的來說,重計算、zookeeper以及日誌和映象機制都是為了鞏固tachyon的容錯性能,我們在後續章節會針對這些核心的機制進行詳細的分析。

master模組的原始碼包含三個部分,分別為tachyon.master、tachyon.retry、tachyon.web。這樣劃分的原因是tachyon.retry和tachyon.web目前都是以tachyon.master包為核心的。tachyon.master包主要實現了master的核心機制(重計算、心跳、日誌和映象等);tachyon.retry目前為tachyon.master包中masterclient的連線操作所使用,實現了連線失敗後的退避策略;tachyon.web目前都是使用tachyon.master來收集web顯示的資料資訊。下面按每個包來介紹master模組具體是如何實現的。

redux原始碼分析(三) 原始碼部分

下面是每個部分的一些解讀 createstore apicreatestore reducer,initialstate enhancer 曾經非常好奇這個函式的第二個引數到底是initialstate還是enhancer,因為見過兩種寫法都有的,以為是版本問題。看了原始碼才發現,都可以的。如果你不...

Redis原始碼分析(三) dict雜湊結構

昨天分析完adlist的redis 今天馬上馬不停蹄的繼續學習redis 中的雜湊部分的結構學習,不過在這裡他不叫什麼hashmap,而是叫dict,而且是一種全新設計的一種雜湊結構,他只是通過幾個簡單的結構體,再搭配上一些比較常見的雜湊演算法,就實現了類似高階語言中hashmap的作用了。也讓我見...

OVS原始碼結構分析

下圖是ovs open vswitch 系統層面的邏輯圖。其中datapath是處於系統的核心層 kernel space 我們可以將datapath理解為乙個網橋 linux bridge 處於使用者態 user space 的主要是openvswitch client openflow clie...