偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

網(wǎng)易數(shù)據(jù)傳輸服務(wù)NDC高可用實(shí)踐

原創(chuàng)
新聞
NDC全稱Netease data canal,即網(wǎng)易數(shù)據(jù)運(yùn)河,是一個(gè)平臺(tái)化的結(jié)構(gòu)化數(shù)據(jù)傳輸系統(tǒng),目的是解決結(jié)構(gòu)化數(shù)據(jù)的實(shí)時(shí)遷移、同步、訂閱、OLTP到OLAP的實(shí)時(shí)數(shù)據(jù)整合等問題。我們希望能夠借此將數(shù)據(jù)庫中的數(shù)據(jù)與其他系統(tǒng)打通,從而構(gòu)建一個(gè)能夠整合所有數(shù)據(jù)庫的“數(shù)據(jù)運(yùn)河”,任何系統(tǒng)都能夠從“運(yùn)河”中獲取數(shù)據(jù)。此次由51CTO主辦的2017WOTA全球架構(gòu)與運(yùn)維技術(shù)峰會(huì)上,網(wǎng)易資深工程師馬進(jìn)老師分享了主題為《網(wǎng)易數(shù)據(jù)傳輸服務(wù)NDC高可用實(shí)踐》的演講。

【51CTO.com原創(chuàng)稿件】NDC全稱Netease data canal,即網(wǎng)易數(shù)據(jù)運(yùn)河,是一個(gè)平臺(tái)化的結(jié)構(gòu)化數(shù)據(jù)傳輸系統(tǒng),目的是解決結(jié)構(gòu)化數(shù)據(jù)的實(shí)時(shí)遷移、同步、訂閱、OLTP到OLAP的實(shí)時(shí)數(shù)據(jù)整合等問題。我們希望能夠借此將數(shù)據(jù)庫中的數(shù)據(jù)與其他系統(tǒng)打通,從而構(gòu)建一個(gè)能夠整合所有數(shù)據(jù)庫的“數(shù)據(jù)運(yùn)河”,任何系統(tǒng)都能夠從“運(yùn)河”中獲取數(shù)據(jù)。

此次由51CTO主辦的2017WOTA全球架構(gòu)與運(yùn)維技術(shù)峰會(huì)上,網(wǎng)易資深工程師馬進(jìn)老師分享了主題為《網(wǎng)易數(shù)據(jù)傳輸服務(wù)NDC高可用實(shí)踐》的演講。

應(yīng)用場(chǎng)景

從應(yīng)用方視角看來,可以將NDC的應(yīng)用場(chǎng)景分為三類:***類是數(shù)據(jù)遷移,像DDB到Oracle這樣的異構(gòu)數(shù)字遷移,同時(shí)可以解決DDB內(nèi)部在線擴(kuò)容問題和遷移問題。第二類數(shù)據(jù)同步,場(chǎng)景較為復(fù)雜一些,如跨域甚至跨國的數(shù)據(jù)實(shí)時(shí)同步,一般不強(qiáng)調(diào)異構(gòu),需要解決的是高延遲,復(fù)雜拓?fù)涔芾淼膯栴}。第三類數(shù)據(jù)訂閱,通過數(shù)據(jù)來驅(qū)動(dòng)業(yè)務(wù),實(shí)現(xiàn)業(yè)務(wù)間異步解耦。

***,通過這些應(yīng)用場(chǎng)景可以總結(jié)出NDC的兩個(gè)核心需求:***,獲取數(shù)據(jù)庫實(shí)時(shí)變更的能力。第二,數(shù)據(jù)快速發(fā)布的能力。如MySQL到Oralce的數(shù)據(jù)遷移,需要增量遷移的速度要比MySQL線上增量更新快,否則相遷移或者同步永遠(yuǎn)無法完成,這就考驗(yàn)NDC數(shù)據(jù)發(fā)布的速度。另外一點(diǎn),是需要NDC提供完善的高可用方案,允許數(shù)據(jù)重復(fù),但是不能丟,還要提供一個(gè)不停服務(wù)的能力。

產(chǎn)品形態(tài)

NDC的產(chǎn)品形態(tài)有兩大特性:一是平臺(tái)化,二是插件化。

平臺(tái)化,網(wǎng)易自有一個(gè)平臺(tái)化的Web管理工具,主要負(fù)責(zé)其資源管理和調(diào)度,以及平臺(tái)化報(bào)警監(jiān)控。

插件化,是對(duì)不同數(shù)據(jù)源、物理端通過applier插件進(jìn)行的敏捷開發(fā),以及賬號(hào)系統(tǒng)插件化。NDC作為底層的中間件能夠支撐不同平臺(tái),像網(wǎng)易的公有云,就會(huì)依賴到NDC。不同帳號(hào)系統(tǒng)之間也是不太一樣的,當(dāng)想要接入不同的帳號(hào)系統(tǒng),卻不做插件化的話,成本也就會(huì)比較高,而且會(huì)使系統(tǒng)變得比較復(fù)雜。所以NDC想到的方案就是系統(tǒng)本身不具備用戶管理功能,更多是把用戶作為一個(gè)類型存儲(chǔ)到任務(wù)的屬性里。然后在管理層向外部做數(shù)據(jù)用戶認(rèn)證。

系統(tǒng)架構(gòu)

網(wǎng)易是有系統(tǒng)庫的,但是不用來做用戶管理,反而會(huì)在API服務(wù)里定義不同的用戶監(jiān)護(hù)插件,當(dāng)不同平臺(tái)的用戶介入到API服務(wù)后,網(wǎng)易會(huì)調(diào)用不同的插件去認(rèn)證所對(duì)應(yīng)的用戶。認(rèn)證后會(huì)將用戶打碼,通過中心的Center記錄到人物屬性中去,在這里就能實(shí)現(xiàn)用戶接入性的插件化。Center組件也就是調(diào)度監(jiān)控中心,目前使用主備模式實(shí)現(xiàn)高可用。

運(yùn)維管理的API管理組件圖

遷移和訂閱的執(zhí)行節(jié)點(diǎn)圖

通過給執(zhí)行節(jié)點(diǎn)劃分節(jié)點(diǎn)組,達(dá)到物理隔離的效果,類似于公有云可用域的概念。數(shù)據(jù)源NDC目前支持DDB、Oracle,SQL Server等,目的端除了關(guān)系型數(shù)據(jù)庫以外還支持Hbase,Greenplum等支持?jǐn)?shù)據(jù)更新的數(shù)據(jù)倉庫。數(shù)據(jù)訂閱就是把增量數(shù)據(jù)發(fā)布到Kafka,執(zhí)行節(jié)點(diǎn)的每一個(gè)遷移都是獨(dú)立的進(jìn)程,這樣就可以避免不同進(jìn)程間的相互影響。

高可用實(shí)踐

Center高可用,也就是網(wǎng)易調(diào)度中心的高可用。分享前,馬進(jìn)老師先同大家講述了腦列問題。嚴(yán)格地說,通過zookeeper或keepalived方案實(shí)現(xiàn)的高可用,并不能避免死鎖情況的發(fā)生,為此NDC通過又在數(shù)據(jù)庫加鎖的方式完全規(guī)避了腦裂的可能:具體做法是在每次做運(yùn)維操作前先嘗試把leader鎖住,再把數(shù)據(jù)取出,對(duì)比和當(dāng)前的ID是否一致,如果一致就可以做相應(yīng)的運(yùn)維操作。切主的時(shí)候,也是現(xiàn)場(chǎng)時(shí)把leader鎖住再更新。通過鎖的方式可以保證運(yùn)維操作和切主的過程是互斥的,從而可以避免腦列問題的產(chǎn)生。但是在這之前也有兩個(gè)基本前提:***個(gè)就是所有的Center是保持在系統(tǒng)庫,其次就是系統(tǒng)庫是高可用的。

任務(wù)高可用需要注意的是,需要主動(dòng)檢測(cè)源端是否活躍,如果發(fā)現(xiàn)源端斷了,向Center上報(bào),如果Center監(jiān)測(cè)源端可用的話就可以將任務(wù)進(jìn)行漂移,把原先Engine上的任務(wù)漂移到另一個(gè)Engine上;如果檢測(cè)源端是不可用的,就會(huì)嘗試將源端漂移到從庫上。

高可用的設(shè)計(jì)原則:首先,監(jiān)控要先于高可用。其次,高可用的分層不要過度設(shè)計(jì)。像考慮Center高可用的時(shí)候相當(dāng)于做了層次劃分,Center高可用首先依賴于系統(tǒng)庫高可用。第三,高可用插件化,保持系統(tǒng)簡潔。第四,多重驗(yàn)證,避免誤切。***,源端漂移問題。如果說源端發(fā)生了漂移,那么怎么保證數(shù)據(jù)不丟?馬進(jìn)老師分享了一個(gè)非常簡單的方案,就是依賴MySQL的GTID功能。還有基于觸發(fā)器,通過觸發(fā)器可以把增量數(shù)據(jù)直接導(dǎo)入表里,這樣數(shù)據(jù)就是不會(huì)丟的。

【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】

責(zé)任編輯:鳶瑋 來源: 51cto
相關(guān)推薦

2017-05-05 10:35:57

WOT網(wǎng)易NDC

2020-06-12 07:50:15

大數(shù)據(jù)

2017-10-10 09:08:12

數(shù)據(jù) 系統(tǒng) 應(yīng)用

2010-04-07 14:54:38

2020-08-13 08:34:10

MySQL數(shù)據(jù)DTS

2018-03-02 10:51:56

緩存服務(wù)器數(shù)據(jù)

2010-07-13 15:55:12

FTP數(shù)據(jù)傳輸模式

2013-11-26 15:51:45

Android編程藍(lán)牙數(shù)據(jù)傳輸

2015-10-14 09:44:55

TCP網(wǎng)絡(luò)協(xié)議數(shù)據(jù)傳輸

2023-04-12 16:20:00

同步數(shù)據(jù)異步數(shù)據(jù)傳輸

2009-12-08 11:17:41

WCF雙向通信

2009-07-07 16:46:33

數(shù)據(jù)傳輸銅纜結(jié)構(gòu)

2021-06-09 11:28:06

加密數(shù)據(jù)Jsencrypt

2021-12-14 11:01:44

TCPUDP網(wǎng)絡(luò)協(xié)議

2021-10-08 08:37:38

數(shù)據(jù)傳輸數(shù)據(jù)調(diào)用網(wǎng)絡(luò)協(xié)議

2011-03-02 11:23:48

2019-09-06 09:11:36

以太網(wǎng)數(shù)據(jù)二層交換

2024-08-05 09:31:00

MySQLDTS數(shù)據(jù)

2022-03-30 15:06:25

數(shù)據(jù)傳輸Harmony源碼分析

2023-07-07 11:26:08

物聯(lián)網(wǎng)5G光傳輸
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)