client

    功能:
    可用于订阅mysql操作

    原理简介:
    client根据解析mysql的日志文件binlog,获取数据库的增删改操作增量日志
    发送到canal client进行处理。简单来说client是一个可以订阅mysql的日志的中间件。

    使用场景:
    如mysql需要同步其库的数据时可使用。

    优点与缺点:
    client是通过模拟mysql slave(mysql利用binlog日志同步主从服务器功能)交互协议实现。
    优点:
    与主要业务逻辑(代码)完全解耦。
    缺点:
    实时性不高,(网上说是需要DB完全提交事务后才能开始推送,我不是太理解???, 这主要缺点不应该是消耗数据库性能吗?)

    sqoop2 数据采集工具

    功能:
    可用于同步各种关系型数据

    原理简介:
    将关系型数据库转为job(map 和 reduce任务 |是个啥我也不会知道|)然后可以把任务转为其他
    数据库数据。

    使用场景:

    优点与缺点:
    优点:
    支持多种数据,效率高,可自动完成数据类型映射与装换。
    缺点:
    数据获取需要手动和定时请求才可以获取。操作复杂。不适合事件驱动类型业务场景。