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

数据同步的问题分析:

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

解决方法:

1、同步方法:

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

优点:简单、粗暴

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

2、异步方法:

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

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

缺点:依赖MQ的可靠性

3、使用binlog

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

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

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

相关推荐
itachi-uchiha1 小时前
Docker部署Hive大数据组件
大数据·hive·docker
viperrrrrrrrrr71 小时前
大数据学习(131)-Hive数据分析函数总结
大数据·hive·学习
張萠飛2 小时前
Linux下如何使用shell脚本导出elasticsearch中某一个index的数据为本地csv文件
linux·运维·elasticsearch
lifallen2 小时前
Flink checkpoint
java·大数据·算法·flink
LanLance4 小时前
ES101系列09 | 运维、监控与性能优化
java·运维·后端·elasticsearch·云原生·性能优化·golang
Leo.yuan4 小时前
API是什么意思?如何实现开放API?
大数据·运维·数据仓库·人工智能·信息可视化
禺垣5 小时前
知识图谱技术概述
大数据·人工智能·深度学习·知识图谱
后端码匠5 小时前
Spark 单机模式部署与启动
大数据·分布式·spark
疯狂的沙粒7 小时前
如何通过git命令查看项目连接的仓库地址?
大数据·git·elasticsearch
随缘而动,随遇而安7 小时前
第七十四篇 高并发场景下的Java并发容器:用生活案例讲透技术原理
java·大数据·后端