本篇介紹資料子系統中的中樞--資料中控服務。資料中控在資料子系統中相當於人體中的大腦,雖然不進行實際資料的儲存,但是該服務負責整個資料子系統中新資料註冊、過期資料銷毀、資料節點負載排程、資料來源資訊維護,等等重要功能,是資料子系統中樞核心。本篇將簡介該服務相關關鍵點。
1. 資料中控功能點
(二)資料銷毀。資料銷毀同樣也是資料子系統基礎功能。有些資料有一定的時效性,在資料過期後,不論是從資料子系統本身資源釋放角度,還是業務系統本身可能導致錯誤角度,該過期資料都應該及時的能清除。資料銷毀可以有兩個途徑,一是利用資料註冊時約定有效期,中控定時檢測資料有效性,過期後同時相關資料節點清除該資料。二是資料發布者因為某種特殊情況需要提前銷毀資料,利用中控提供的協議介面可以進行資料銷毀。當然該兩種途徑,最後都是中控通知該資料儲存節點進行銷毀。
(三)現有資料檢索。所有資料註冊資訊可同樣可以看做是一類資料,中控服務視自身就是資料來源,將註冊資訊發布至子系統,該部分資料會被子系統**服務依據所屬機房獲取,以便**在收到資料資料請求時根據現有資料正確向資料節點傳送資料請求。
(四)儲存資源請求。儲存資源請求由資料節點發出,資料節點根據自身儲存能力檢測,發現自身壓力到達警戒線,則向中控傳送儲存資源請求,中控則採用就近原則,盡量在同機房再分配乙個資料節點共同承擔儲存壓力。以便子系統能正常執行。
2. 容災
資料中控容災方案有多種,如主從服務、掛載db等等,資料恢復也有多種選擇,如從db恢復資料、從服務恢復資料、最極端情況,還可以從資料節點重構資料。容災方案從中選擇乙個價效比較高方案即可,本平台採用掛載db方案實現,採用redis進行資料備份容災。
3. 資源分配
(一)資料註冊時,需要進行資源分配。根據就近原則,一般會在註冊者同機房分配負載較輕的資料節點作為儲存節點。如果同機房沒有資源或者資源不足,則考慮臨近機房分配,當然實際分配過程中還需要考慮其他諸多因素,如機房頻寬、硬體資源、頻寬成本、機房網路速度等等需要綜合衡量後才能最終分配資源給註冊方。
(二)本機房有資料請求,但無該資料儲存節點時。該情況與資料註冊不同,需要考慮資料請求方型別,所在機房部署量來**是否有必要在本機房儲存請求資料。原則上乙個機房只存在一條資料同步通道。如果該機房該型別資料請求大於一,那就需要考慮在本機房進行資料儲存。
(三)資料節點過載也會產生資源分配。該情況最終體現是單程序無法儲存全量資料,需要資源分配進行分壓,這也是資料子系統需要解決的問題。
4. 多點寫入
多點寫入實質是資源分配中一種特殊情況,現實當中也是經常遇到,作為單獨一節來描述是因為該情況較為特殊。多點寫入屬於資料註冊的一種,中控在進行資料重複性檢查時發現該資料已經發布,此時需要進行判斷是直接寫入已有其他機房節點還是在本機房分配資源就近寫入,在判別該情況後中控僅需要根據分配策略進行資源分配即可,如果是多點寫入情況那麼資料節點間的資料同步將在資料節點篇章提出解決方案。
本篇簡介資料中控服務相關要點,由於編寫時間緊張,分布式上處理經驗稍顯不足,難免有所遺漏甚至是錯誤,各位同行在瀏覽過程中如發現問題,請及時告知我修改,或發起討論,提出更佳的解決方案,讓我們共同進步。
資料節點
資料子系統--概述
輸入子系統
驅動函式操作步驟 在初始化函式中 1.分配乙個input dev結構體 struct input dev buttons dev buttons dev input allocate device 2.設定 2.1 能產生哪類事件 set bit ev key,buttons dev evbit s...
中斷子系統
linux kernel的中斷子系統之 一 綜述 linux kernel的中斷子系統之 二 irq domain介紹 linux kernel的中斷子系統之 三 irq number和中斷描述符 linux kernel的中斷子系統之 四 high level irq event handler ...
儲存子系統
儲存系統的層次結構 cpu cache 主存 外存 主存 主要存放cpu當前使用的指令和資料。特點 能隨機訪問 工作速度快 有足夠的的儲存容量 輔存 外存 存放大量的後備程式和資料。特點 速度較慢,容量較大 高速緩衝儲存器 存放cpu在當前一小段時間內多次使用的程式和資料,以緩解cpu和主存的速度差...