
一、關(guān)于databusLinkedIn于2月26日開源了其低延時變化數(shù)據(jù)捕獲系統(tǒng)Databus,該系統(tǒng)可以在MySQL以及Oracle數(shù)據(jù)源上捕獲數(shù)據(jù),當(dāng)下LinkedIn只開源了Oracle上的連接器。Databus作為LinkedIn生態(tài)系統(tǒng)中的一致性保障組件,在低延時的情況下仍然具有高有效性;而其最大的特點莫過于無限制恢復(fù)k能力及豐富的數(shù)據(jù)深度處理功能。二、基于databus的數(shù)據(jù)系統(tǒng)架構(gòu)對數(shù)據(jù)系統(tǒng)對功能進行了有限的分割,傳統(tǒng)的數(shù)據(jù)庫被用來作簡單的數(shù)據(jù)存儲,有效的保證了數(shù)據(jù)一致性(包含事務(wù));通過毫秒級的事件轉(zhuǎn)發(fā),可以按業(yè)務(wù)需求構(gòu)建索引或多個數(shù)據(jù)副本,以支撐復(fù)雜的業(yè)務(wù)需求;保證順序的數(shù)據(jù)變化事件日志為整個數(shù)據(jù)系統(tǒng)提供的不限制的數(shù)據(jù)恢復(fù)能力。
三、databus系統(tǒng)組成
Databus Relays
1、捕獲數(shù)據(jù)庫行變化,在內(nèi)存中打包為數(shù)據(jù)變化事件;2、監(jiān)聽Clients的請求,將數(shù)據(jù)變化事件發(fā)送給Client。Databus Clients
1、檢查數(shù)據(jù)變化事件,并回調(diào)業(yè)務(wù)邏輯;2、如掛掉,從databus bootstrap server讀取掛掉后的所有數(shù)據(jù)變化事件;3、新的client加入,先從databus bootstrapserver讀取數(shù)據(jù),之后變?yōu)樘幚碜罱臄?shù)據(jù)變化事件;4、一個client可以處理全部的事件流,也可多個client分塊處理事件流。Databus Bootstrap Producers
1、bootstrap producer是一個特殊的client;2、從relay接收新的數(shù)據(jù)變化事件;3、把這些事件存儲起來(如MYSQL);4、存儲的事件用于新client的加入,或都client掛掉后的恢復(fù)。Databus Bootstrap Servers
1、監(jiān)聽client的請求,把存儲的事件發(fā)送給client。項目地址:https://github.com/linkedin/databus
愛華網(wǎng)


