基于canal,开发canal 客户端,接收mysql binlog解析的数据,然后根据变化的数据回源到数据库里去查询需要放入Elasticsearch的数据并保存到Elasticsearch。主要场景是在mysql的基础上进行数据异构到Elasticsearch,使用Elasticsearch提供查询服务,以便提高查询效率
使用spring boot 2.0.1.RELEASE进行开发。作为canal的客户端,基于Zookeeper自动发现canal的方式,从canal获取mysql binlog解析的数据并进行处理。工具主要分为几个模块:
这个工具主要是mysql数据到es数据的同步,主要的场景也就是数据异构,更多数情况是需要回源到数据库进行多表联合查询甚至一对多的查询,因此很难像otter一样通过管理页面来动态配置,该工具主要是针对于开发人员,需要定制开发异构同步数据的处理
canal相关文档请参考:https://github.com/alibaba/canal
此工具是使用的fork的分支(主要改动是将坐标类型的字段定义了一个值,而不是使用Types.OTHER,便于区分以及后续的处理):https://github.com/dengfuwei/canal
需要先启动canal服务端
在canal-es-ext中扩展需要异构同步数据的处理,主要分为3个包
如果需要多数据源配置,可以自行在canal-es中配置,然后在canal-es-ext中使用对应的jdbcTemplate即可
在canal-es中修改相关的配置,然后启动,暂时只支持通过zk去发现canal服务端,计划以后也只支持这种方式,方便水平扩展部署节点
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型