elasticsearch和mysql数据库的数据同步问题(一)
elasticsearch中的数据来自mysql数据库,因此mysql数据发生改变时,elasticsearch也必须跟着改变,这就是elasticsearch与mysql之间的数据同步。
常见的数据同步方案有三种:
- 同步调用
- 异步通知
- 监听binlog
内容
隐藏
同步调用
异步通知
监听binlog
方式一:同步调用
- 优点:实现简单,粗暴
- 缺点:业务耦合度高
方式二:异步通知
- 优点:低耦合,实现难度一般
- 缺点:依赖mq的可靠性
方式三:监听binlog
- 优点:完全解除服务间耦合
- 缺点:开启binlog增加数据库负担、实现复杂度高
这里使用异步通知的方式实现数据同步:elasticsearch和mysql数据库的数据同步问题(二)