elasticSearch的数据同步:
一、数据同步思路分析:
数据同步问题分析
- elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,elasticsearch也必须跟着改变,这个就是elasticsearch与mysql之间的数据同步。
- 在微服务中,负责酒店管理(操作mysql )的业务与负责酒店搜索(操作elasticsearch )的业务可能在两个不同的微服务上,数据同步该如何实现呢?
- 实现方式:
3.1 同步调用:
由于调用的时候是依次执行,同步调用导致性能降低,业务耦合,如果别的服务发生异常,也会影响不相关的业务;
3.2 异步调用 :
依赖MQ,解决上面第一种方案存在的问题;
3.3 监听binlog:
完全依赖canal中间件,解除服务之间的耦合,但是增大了Mysql的压力。