Skip to content

V1.0.0-beta

Pre-release
Pre-release
Compare
Choose a tag to compare
@lulu2panpan lulu2panpan released this 29 Dec 08:09
· 56 commits to master since this release

重要功能新增

  1. 新增kudu-writer插件
  2. 新增kafka-writer插件
  3. 对Task新增两个维度的监控
    • 支持TaskBusyStatus监控,当Task在Writer端出现卡死情况时,系统可监控预警,参见类:TaskSyncStatusManager
    • 新增Task轨迹查看功能:精确查看在不同时间段Task执行所在的Worker机器,便于排查问题,参见类:TaskTraceMonitor
  4. 对es-writer插件进行了升级
    • 支持routing方式的同步,配置映射时可指定routing字段
    • 列名前缀支持可配置,参见类:EsMappingParameter
  5. 对Mysql-Reader进行了重写
    • 新增精确补数据功能:出现数据缺失时,不用再通过重置Task位点修复数据,也不用再通过新建临时Task修复数据,直接在现有Task发起数据修补请求即可(类似otter的自由门),对业务影响降到最小
    • 新增影子位点功能:同一Task既有主位点,又有影子位点,影子位点的意义是支持对Task的部分映射进行独立的位点重置,而不影响主流程
    • 读取Binlog时,支持多路复用,即多个MysqlTaskReader可以在内存中共用一份儿Binlog,以减轻DB的压力(建议在测试和预发环境使用,默认不开启)
    • 新增对有效同步位点进行记录的机制,有效同步位点记录的是:真正影响到Task同步映射关系的binlog消费位点,参见类:CanalReaderEffectSyncPosition

重要功能优化

  1. 对rdbms-writer插件进行了优化
    • 支持自增列不是主键情况下的同步,参见类:SqlBuilder
    • 支持更新时不仅更新发生变更的列,还能更新所有列,参见类:RdbmsWriterParameter
  2. 对hdfs-writer插进行了优化
    • 对HRecord数据类型增加参数binlog_eventtime,以支持对同一rowkey去重
    • 调用其它Worker释放租约时,url中的端口调整为动态获取,参见类:RemoteUtil
  3. 对hbase-writer插件进行了优化
  4. 对Worker运行时进行了优化
    • 调整了worker的jmx监听端口,避免同一台机器同时部署manager和worker时端口冲突
    • 优化了TaskConfigManager,支持不同分组发布不同版本的程序包(之前的实现方式,每次tryRfresh时会取所有task配置,无法支持版本兼容)
    • 优化了AbstractHandler的线程池策略,调整为Cache模式

其它优化调整

  1. 升级zkclient版本到0.10
  2. 升级mysql驱动到8.0.11
  3. 升级canal版本到1.1.3
  4. 升级druid版本到1.1.16
  5. 增加页面操作日志审计功能,可对关键操作进行行为审计
  6. 分组管理页面增加强制触发Reblance功能
  7. 同一个Task下,支持某张表同时同步到同一个目标DB的不同表(之前版本不支持)

如何升级

  1. 执行如下升级sql,可从旧版本,无缝升级到新版本,升级Sql