Es同步

30 阅读1分钟

项目是怎么实现数据同步的

我们项目完成Es索引同步是用Canal和MQ同步实现的:

在我们数据库有增删改操作时,会记录一个操作日志,是用Binlog实现的,选Binlog的原因也是因为它可以完整的记录一个事物,同步起来会比较完整;

之后我们部署的Canal会去自动读取Binlog日志,解析我们的数据变动的日志,通过一些封装给MQ发送消息;

我们设计了一个同步程序,从MQ读取我们数据变动封装的信息,给同步程序添加了Es的更新数据的逻辑,后续要设计同步Redis的数据的主要逻辑也可以走我们的同步程序。