获取日志的等级_监听MySQL的binlog日志工具(二):Canal、Maxwell、mysql_streamer

关于canal和本文的原文请查看文章:监听MySQL的binlog日志工具分析

Maxwell

Maxwell是一个能实时读取MySQL二进制日志binlog,并生成JSON格式的消息,作为生产者发送给Kafka、RabbitMQ等中间件的应用程序。它的常见应用场景有ETL、缓存构建、收集表级别的dml指标、增量到搜索引擎、数据分区迁移、切库binlog回滚方案等。

官网:http://maxwells-daemon.io

GitHub:https://github.com/zendesk/maxwell

Maxwell主要提供了下列功能:

  1. 支持SELECT * FROM table的方式进行全量数据初始化
  2. 支持在主库发生failover后,自动恢复binlog位置(GTID)
  3. 可以对数据进行分区,解决数据倾斜问题,发送到Kafka的数据支持库、表、列等级别的数据分区
  4. 工作方式是伪装为slave,接收binlog events,然后根据schema信息拼装,可以接受ddl、xid、row等event

Canal、Maxwell、mysql_streamer对比

从上文的介绍,可知:Canal由Java开发,分为服务端和客户端,拥有众多的衍生应用,性能稳定,功能强大;Canal需要自己编写客户端来消费Canal解析到的数据。

Maxwell相对于Canal的优势是部署使用简单,基本不需要复杂的配置。它直接将数据变更输出为json字符串,不需要再编写客户端。对于缺乏基础建设,短时间内需要快速迭代的项目和公司比较合适。

b792d0b1b8705b049cb0a2d456881ff0.png

关注 微信公众号:大数据学习与分享,获取更多技术干货

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值