es与数据库的同步方案
2023-06-13 09:11:40 时间
大家好,又见面了,我是你们的朋友全栈君。
一、双写模式
我们采取MySQL作为主要的数据存储,利用MySQL的事务特性维护数据一致性,使用ElasticSearch进行数据汇集和查询,此时es与数据库的同步方案就尤为重要。
保证es与数据库的同步方案: 1、首先添加商品入数据库,添加商品成功后,商品入ES,若入ES失败,将失败的商品ID放入redis的缓存队列(或MQ),且失败的商品ID入log文件(若出现redis挂掉,可从日志中取异常商品ID然后再入ES), task任务每秒刷新一下redis缓存队列,若是从缓存队列中取到商品ID,则根据商品ID从数据库中获取商品数据然后入ES。
开发es与数据库同步小工具: 1、全量导入 2、根据ID批量导入
二、开源框架
1、使用canal(阿里开源的中间件,主要用于同步mysql数据库变更):https://blog.csdn.net/wwd0501/article/details/83503374
2、使用databus:https://www.jianshu.com/p/5dba22e3430a?utm_source=oschina-app
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144755.html原文链接:https://javaforall.cn
相关文章
- es 其实是不是就是数据库_初识ES数据库「建议收藏」
- es数据库索引_sql 创建索引
- 【图文安装教程】在docker中安装ES
- 【ES三周年】Elasticsearch原理深入浅出 — RESTful/ 倒排索引/ BKD树
- ES Client性能测试初探
- [ES三周年]如何计算数据库的TPS和QPS
- 【ES三周年】Es进阶检索实战
- 【OpenGL ES】OpenGL ES 2.0 -- 制作 3D 彩色旋转三角形 - 顶点着色器 片元着色器 使用详解
- Copula估计边缘分布模拟收益率计算投资组合风险价值VaR与期望损失ES|附代码数据
- ES文件浏览器下载 ES文件浏览器 v4.0.4.1 去广告优化版
- 基于ossec logstash es大数据安全关联分析
- ES来打破传统从Oracle走向 NoSQL(es替代oracle)
- 使用ES查询Oracle新方法进行数据挖掘(es查询oracle)
- 使用ES数据导入Oracle让数据更加有序(es数据导入oracle)
- 使用ES导入Oracle数据库一招制胜(es 导入 Oracle)
- ES与Oracle数据库高效协同缔造数据之美(es和oracle数据库)
- 数据库ES和Oracle数据库实现最佳性能的方案(es oracle)
- 比较ES和Redis的数据写入功能(写入es和写入redis)
- Oracle与ES协同同步实现最佳性能(oracle与es同步)