Bootstrap

es数据同步(仅供自己参考)

数据同步的问题分析:

当MySQL进行增删改查的时候,数据库的数据有所改变,这个时候需要修改es中的索引库的值,这个时候就涉及到了数据同步的问题

解决方法:

1、同步方法:

当服务对MySQL进行增删改的时候,这个时候使用fegin远程调用,将所更改的数据发送到es的服务上,使得es数据得到及时的更新

优点:简单、粗暴

缺点:服务之间耦合度高,MySQL服务响应慢,必须等待es更改完成。

2、异步方法:

使用消息中间件rabbitMQ,服务进行增删改的时候将信息放到MQ,es的服务去MQ中拿到信息,去更新自己的数据

优点:耦合度低,实现难度一般

缺点:依赖MQ的可靠性

3、使用binlog

MySQL在进行增删改的时候会将操作记录到binlog上,然后在使用canal(通道)中间件,通知es发生改变,这样就会使得es数据得到更新

优点:完全接触服务之间的耦合

缺点:开启binlog增加数据库负担,实现复杂度高。

;