es与数据库的同步方案

es与数据库的同步方案一、双写模式我们采取MySQL作为主要的数据存储,利用MySQL的事务特性维护数据一致性,使用ElasticSearch进行数据汇集和查询,此时es与数据库的同步方案就尤为重要。保证es与数据库的同步方案:1、首先添加商品入数据库,添加商品成功后,商品入ES,若入ES失败,将失败的商品ID放入redis的缓存队列(或MQ),且失败的商品ID入log文件(若出现redis挂掉,可从日志中取异…

大家好,又见面了,我是你们的朋友全栈君。

一、双写模式

我们采取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.net/144755.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月18日 下午8:20
下一篇 2022年5月18日 下午8:20


相关推荐

  • 机器人SLAM算法漫谈

    机器人SLAM算法漫谈本文转载微信公众号 “智能算法”完整的干货,拿来大家分享!http://mp.weixin.qq.com/s/pBpTH0B5AKRGMZ_8rrO4zg1.前言  开始做SLAM(SimultaneousLocalizationandMapping,机器人同时定位与建图)研究已经近一年了。从一年级开始对这个方向产生兴趣,到现在为止,也算是对这个领域有了大致的了

    2022年6月24日
    30
  • bootefi分多大合适_华硕secure boot在哪

    bootefi分多大合适_华硕secure boot在哪一、DM36X的BOOT过程介绍DM36x的BOOT过程和DM6446、DM6467完全是一样的,因为都是ARM926EJS架构,里边都有一个RBL,这RBL在芯片出厂的时候都烧写在ROM里,芯片上电复位后RBL在运行,然后读取BOOTMODE引脚的电平状态,决定是从NANDFLASH还是从MMC/SD、UART、USB、SPI、EMAC、HPI中之一的方式BOOT,具体见SPRS

    2022年8月13日
    15
  • 小白保姆级教程:不用写代码在阿里云分钟级一键部署OpenClaw,打造你的专属 AI 员工

    小白保姆级教程:不用写代码在阿里云分钟级一键部署OpenClaw,打造你的专属 AI 员工

    2026年3月13日
    2
  • java线程优先级_java线程优先级有几级

    java线程优先级_java线程优先级有几级1.yield方法yield()方法的作用是放弃当前的CPU资源,将它让给其他的任务去占用CPU执行时间。当放弃的时间不确定,有可能刚刚放弃,马上又获得CPU时间片。2.线程的优先级在操作系统中,线程可以划分优先级,优先级较高的线程得到的CPU资源越多,也就是CPU优先执行优先级较高的线程对象中的任务。在Java中,线程的优先级分为1~10这10个等级,如果小于1或大于10,则JDK抛出异常thrownewIllegalArgumentException()。JDK中使用3个

    2022年10月15日
    3
  • 支持向量回归(SVR)的详细介绍以及推导算法

    支持向量回归(SVR)的详细介绍以及推导算法1SVR背景2SVR原理3SVR数学模型SVR的背景SVR做为SVM的分支从而被提出,一张图介绍SVR与SVM的关系这里两虚线之间的几何间隔r=d∣∣W∣∣\frac{d}{||W||}∣∣W∣∣d​,这里的d就为两虚线之间的函数间隔。(一图读懂函数间隔与几何间隔)这里的r就是根据两平行线之间的距离公式求解出来的SVR的原理SVR与一般线性回归的区别SVR一般线性回归1.数据在间隔带内则不计算损失,当且仅当f(x)与y之间的差距的绝对值大于ϵ\

    2022年6月6日
    46
  • django—将服务器上的文件保存至本地以及本地文件上传

    django—将服务器上的文件保存至本地以及本地文件上传1 用户 down 线上文件这个有两种情况 一种是用户申请 页面跑完数据 文件直接 down 下来 一种是用户需要点击特定的按钮去下载这个文件 整体的来说这两种情况大同小异 看具体需求首先不管是那种需求 都要现在项目的配置文件 settings py 去设置静态文件路径 STATIC URL static STATICFILES DIRS os path join BASE

    2026年3月17日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号