大數(shù)據(jù)Maxwell(一):Maxwell介紹和工作原理
?Maxwell介紹和工作原理
一、Maxwell介紹
Maxwell是由美國Zendesk開源,使用Java編寫的MySQL實(shí)時(shí)抓取工具,可以實(shí)時(shí)讀取MySQL二進(jìn)制日志binlog,并生成 JSON 格式的消息,作為生產(chǎn)者發(fā)送給 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平臺(tái)的應(yīng)用程序。它設(shè)計(jì)的初衷是實(shí)時(shí)采集Mysql數(shù)據(jù)到Kafka。支持全表load數(shù)據(jù),支持自動(dòng)斷點(diǎn)還原,支持按照列將數(shù)據(jù)發(fā)送到Kafka不同分區(qū)。
Maxwell官網(wǎng):http://maxwells-daemon.io/
(相關(guān)資料圖)
二、??????????????Maxwell工作原理
Maxwell工作原理與Canal工作原理一樣,都是把自己偽裝成MySQL 的slave從庫,同步binlog數(shù)據(jù),來達(dá)到同步MySQL數(shù)據(jù),與Canal相比,更加輕量。同樣使用Maxwell也需要開啟MySQL binlog日志。
三、Maxwell和Canal對(duì)比
Canal | Maxwell | |
---|---|---|
公司 | 阿里 | zendesk |
開發(fā)語言 | Java | Java |
高可用 | 支持HA | 不支持,支持?jǐn)帱c(diǎn)續(xù)傳 |
數(shù)據(jù)格式 | 格式自由 | JSON |
Bootstrap(刷全量數(shù)據(jù)) | 不支持 | 支持 |
數(shù)據(jù)落地 | 支持客戶端,支持定制/kafka | Kafka,Redis等。 |
總體來看,Maxwell相對(duì)于Canal更加輕量級(jí)。
?
關(guān)鍵詞: