configserver裡面涉及到的幾個最重要的物件是,configserver,dataserver,table,group
1.物件介紹
(1)table,對照表
key通過hash之後,再取模可以得到value存放在哪個桶。這個桶是放在哪個dataserver的資訊,可以由乙個表來表示。
這個表就是對照表。
(2)configserver,配置伺服器
功能主要有,①讀取配置資訊以及心跳得到dataserver的資訊,進行對照表的生成。
②根據client的請求,傳遞對照表資訊
③根據心跳得到dataserver的資訊,然後控制資料在dataserver中的複製與遷移,以及重新建立對照表等。
(3)dataserver,資料伺服器
資料實際儲存的抽象,可以採用不同的儲存引擎,在configserver的控制下,完成資料的儲存、複製、遷移。
(4)group,組
通常,configserver有2個,互為主備。而dataserver通常有許多個,可以將dataserver維護為多個不同的group。
而對照表的新建與棄用,是以group為單位的。
2.**結構
如圖所示,這就是tair中,configserver模組下的**。
其中,①是入口,表示tair_config_server
②是整個模組的主要工作的執行緒,重要的函式都在這個thread的run裡面
③是資訊,分為group資訊和server資訊,作為②執行的一些處理判斷
④就是與對照表table相關的,上面的一些是控制table行為的類,下面的是描述表的具體的類,
table_builder1和table_builer2都繼承自table_builder,
table_builder1是採用負載均衡優先建立的對照表,table_builder2是採用優先考慮區分機房的邏輯建立的對照表。
3.主要流程
OpenCV原始碼閱讀 1
開始從讀取檔案的函式說起,這裡主要有兩個函式用於讀取影象的 實際上,當我們在做數字影象處理系統的時候,主要要考慮的也是怎麼讀乙個進來。第乙個函式 cvloadimage主要是用於返回乙個iplimage 的資料結構。第二個函式 cvloadimagem主要是用於返回乙個cvmat 的資料結構。實際上...
Spring 原始碼閱讀(1)
這週在學習spring的原始碼,常常迷失在 森林中,因為英語水平不高,常常需要借助google翻譯幫忙解釋注釋,所以速度比較慢。下面是我模擬spring的解析xml,依賴注入的過程,比較簡略。node node nodes.item i if node instanceof element claz...
spring原始碼閱讀(1)
spring核心是ioc和aop,aop的底層是 實現。分為兩種 jdk動態 和cglib 區別 動態 被 物件是要實現乙個介面,類首先要拿到這個介面,來進行強制轉換,通過反射來生成 物件 public class meipo implements invocationhandler overrid...