1.1 同步双写
把数据写入DB的同时写入ES。
优点:实时性强。
缺点:硬编码问题,代码量较大。
1.2 异步双写------针对多源数据写入
把数据写入DB的时候,通过MQ写入ES。
优点:性能高
缺点:硬编码问题
中间件增加,导致内容繁杂
1.3 基于SQ的数据抽取
使用定时器写入,每隔一段时间自动扫描原表,对原表中做出CURD操作的数据进行备份,对ES进行修改
优点:没有硬编码问题
缺点:实时性较差,用户无法得到实时的数据修改之后的数据。
对数据库的轮询压力大,(改进)把一部分的轮询放到从表。
1.4 基于Binlog
读取MYSQL的binlog日志,编写一个MQ消费程序,
优点:没有代码侵入、没有硬编码;原有系统不需要任何变化,没有感知;性能高;业务解耦,不需要关注原来系统的业务逻辑。
缺点: