1.生产主流的大数据实时数据源同步中间件:
主要有Canal和Maxwell,它们都是数据同步工具。
1.1中间件的作用:
Mysql 》Maxwell|Canal》Kafka===》??==》存储端(数仓)HBase|Kudu|Cassandra|Hive
将数据增删改操作实时的同步到另一端。
1.2Canal:
- 由阿里推出的开源的大数据实时数据源同步中间件
- 源码地址:https://github.com/alibaba/canal
客户端:syncClient
1.3Maxwell:
- 老外写的开源的的大数据实时数据源同步中间件
- 源码地址:https://github.com/zendesk/maxwell
2.对比选择
-
主要区别:
1、虽然Maxwell不能直接支持HA,但是它支持断点还原,即错误解决后重启继续上次点儿读取数据。
2、Canal是服务端,数据过来了并不能直接写出去,需要一个客户端:syncClient去获取数据
Maxwell即是服务端也是客户端。
3、Maxwell支持Bootstrap,即刷全量的数据,而Canal不支持。
4、Maxwell只支持Json,而Canel数据格式自由 -
个人选择Maxwell:
a、服务端和客户端是一体的
b、Maxwell是轻量级的,出错风险低,Canal经常出错
c、虽然部署的是单台&