mysql 实时同步到 es
测试了多个方案同步,最终选择 oceanu 产品,底层基于 Flink cdc1、实时性能够保证,binlog 量很大时也不产生延迟 2、配置 SQL 即可完成,操作上简单
下面示例 mysql 的 100 张分表实时同步到 es,优化备注等文本字段的 like 查询
创建 SQL 作业
这里主要注意字段类型
scan.startup.mode:"initial"(默认,同步历史数据),"latest-offset" 同步增量数据
最后 insert 可以加 where,只同步需要的行数据
es 配置
配置好 mapping、setting 和自己的分词器
使用自字义分词是因为字段中所有涉及的标点符号、空格等都可以来检索
使用别名,方便后续的维护
之前测试的
canal 单进程延迟越来越大,单独配置历史数据同步
go-mysql-elasticsearch 经常报错重新同步
logstash 同步 100 张分表不知道怎么配置
oceanus 是收费的对于运维人员不足的情况,可以参考,有精力的可以考虑 flink。
前沿拓展
在科技飞速发展的当下,程序员若想在职场中脱颖而出,就必须不断发掘新技术,增强自身竞争力。新技术不仅能拓宽职业道路,还能提升解决问题的能力。
以低代码开发为例,它打破了传统开发模式的束缚,通过可视化界面和少量代码,就能快速搭建应用程序。这种高效的开发方式正被越来越多的企业所采用。而 JNPF 快速开发平台,拥有丰富的组件库和强大的功能,能帮助程序员轻松应对各种复杂的业务需求。
这是一个基于 Flowable 引擎(支持 java、.NET),已支持 MySQL、SqlServer、Oracle、PostgreSQL、DM(达梦)、 KingbaseES(人大金仓)6 个数据库,支持私有化部署,前后端封装了上千个常用类,方便扩展,框架集成了表单、报表、图表、大屏等各种常用的 Demo 方便直接使用。
所以,程序员们不妨深入了解 JNPF 快速开发平台,掌握低代码开发技术,为自己的职业发展增添强大助力 。
评论