① 时效性差,由于是接纳定时器根据固定频率查询表来同步数据,尽管将同步周期设置到秒级,也照旧会存在一定时间的耽误。
② 对数据库有一定的轮询压力,一种改进方法是将轮询放到压力不大的从库上。
③ 无法实现同步删除,必要在Elasticsearch 中实行相关命令手动删除
④ Elasticsearch 中的_id 字段必须与Mysql 中的id 字段类似。
canal 数据同步(最优)
使用canal模仿成Mysql 的slave, 实时接收Mysql 的增量数据binlog, 然后通过Restful API 将数据写入到阿里云ES 实例或者Es Serverless 应用中,适用于对数据同步的实时性要求较高的场景。