kafka生產(chǎn)者客戶端 日志采集系統(tǒng)flume和kafka有什么區(qū)別及聯(lián)系?
日志采集系統(tǒng)flume和kafka有什么區(qū)別及聯(lián)系?flume和Kafka的一些功能是相同的,但總的來說,它們是完全不同的;它們的場(chǎng)景是不同的,但它們可以一起使用。簡而言之,flume是一個(gè)分布式日志
日志采集系統(tǒng)flume和kafka有什么區(qū)別及聯(lián)系?
flume和Kafka的一些功能是相同的,但總的來說,它們是完全不同的;它們的場(chǎng)景是不同的,但它們可以一起使用。
簡而言之,flume是一個(gè)分布式日志收集系統(tǒng),它從各種服務(wù)器收集日志并將其傳輸?shù)街付ǖ奈恢茫鏗DFS。
Kafka是一個(gè)分布式消息中間件,有自己的存儲(chǔ),提供推拉數(shù)據(jù)訪問功能。
整個(gè)過程如下:
登錄服務(wù)器<--flume-->kafka-->hdfs-->離線計(jì)算
登錄服務(wù)器<--flume-->kafka-->storm
希望我的回答能對(duì)您有所幫助
如何基于kafka來實(shí)現(xiàn)一個(gè)全功能的關(guān)系型數(shù)據(jù)庫?
以下是我對(duì)你的回答,拒絕復(fù)制和粘貼。
首先,Kafka是一個(gè)分布式消息中間件,主要用于消費(fèi)者和生產(chǎn)者的場(chǎng)景。這是一種發(fā)布-訂閱關(guān)系。
關(guān)系數(shù)據(jù)庫是一個(gè)數(shù)據(jù)存儲(chǔ)系統(tǒng),主要用于存儲(chǔ)關(guān)系數(shù)據(jù)。
基于Kafka,無法實(shí)現(xiàn)全功能關(guān)系數(shù)據(jù)庫。卡夫卡本身與數(shù)據(jù)庫沒有對(duì)應(yīng)關(guān)系,它們存儲(chǔ)的數(shù)據(jù)庫也沒有對(duì)應(yīng)關(guān)系。
如果我們要把這兩件事聯(lián)系起來,我們通常會(huì)把數(shù)據(jù)庫的信息讀出來放在卡夫卡中,也就是消息生產(chǎn)者;而從卡夫卡獲取數(shù)據(jù)的客戶端或終端就是消費(fèi)消息,也就是消費(fèi)者。當(dāng)然,您可以讀取來自卡夫卡的消息,并在處理后將其存儲(chǔ)在數(shù)據(jù)庫中。您應(yīng)該知道Kafka是一個(gè)中間件,它的主要功能不是像數(shù)據(jù)庫那樣存儲(chǔ)數(shù)據(jù)。
建議您首先明確需求,并確定您的問題是否滿足需求。
如何使用消息隊(duì)列解決分布式事務(wù)?
有兩種選擇。
Scheme 1 Local message transaction table
生產(chǎn)者需要添加一個(gè)事務(wù)消息表。具體步驟如下:[1。生產(chǎn)者執(zhí)行業(yè)務(wù)邏輯并將事務(wù)記錄插入到消息表中。這兩個(gè)操作在一個(gè)本地事務(wù)中
2。啟動(dòng)后臺(tái)線程定期輪詢消息表并將消息發(fā)送到消息隊(duì)列
3。刪除消息表中的消息,直到發(fā)送成功。
方案2需要消息隊(duì)列支持,業(yè)務(wù)端提供回溯接口
1。生產(chǎn)端將準(zhǔn)備好的消息發(fā)送到消息隊(duì)列
2。在本地事務(wù)中,業(yè)務(wù)邏輯
3。根據(jù)執(zhí)行結(jié)果確認(rèn)或取消準(zhǔn)備好的消息
4。消息隊(duì)列將確保準(zhǔn)備好的消息被確認(rèn)或取消,并且消息隊(duì)列將不斷地向生產(chǎn)端請(qǐng)求執(zhí)行結(jié)果,這要求生產(chǎn)端提供類似的回調(diào)函數(shù)。
在方案2中,消息隊(duì)列取代了方案1中的消息表和后臺(tái)線程輪詢功能,但并非所有消息隊(duì)列都支持此功能。支持Rocketmq。
方案1的開發(fā)工作量大,外部依賴性小
方案2的開發(fā)工作量小,但依賴于特定的消息隊(duì)列。
1!卡夫卡在2011被捐贈(zèng)給Apache基金會(huì),而RAFT的論文是在尋找一個(gè)潛在的一致算法,由斯坦福大學(xué)在2013出版,卡夫卡出生在RAFT之前。當(dāng)1/3節(jié)點(diǎn)不可用時(shí),服務(wù)不可用。Kafka中維護(hù)的ISR(in-sync replica,同步副本)可以提供服務(wù),即使副本不可用,只剩下領(lǐng)頭羊
3:更大的數(shù)據(jù)吞吐量。木筏適用于強(qiáng)稠度