当前位置: 首页 > news >正文

MySQL数据同步ES的常用思路和方法

文章目录

  • 1.同步双写
  • 2.异步双写
  • 3.定时任务
  • 4.数据订阅

大家应该都在各种电商网站检索过商品,检索商品一般都是通过什么实现呢?搜索引擎Elasticsearch。

那么问题来了,商品上架,数据一般写入到MySQL的数据库中,那么用于检索的数据又是怎么同步到Elasticsearch的呢?

1.同步双写

这是能想到的最直接的方式,在写入MySQL,直接也同步往ES里写一份数据。
在这里插入图片描述

对于这种方式:

优点:实现简单
缺点:
业务耦合,商品的管理中耦合大量数据同步代码
影响性能,写入两个存储,响应时间变长
不便扩展:搜索可能有一些个性化需求,需要对数据进行聚合,这种方式不便实现

2.异步双写

我们也很容易想到异步双写的办法,上架商品的时候,先把商品数据丢进MQ,为了解耦合,我们一般会拆分一个搜索服务,由搜索服务去订阅商品变动的消息,来完成同步。

http://www.lryc.cn/news/56129.html

相关文章:

  • spring源码之扫描前设置
  • C++ 98/03 应该学习哪些知识19
  • java毕业生就业信息管理系统servlet程序
  • linux命令-netstat
  • 微服务+springcloud+springcloud alibaba学习笔记【Rest微服务工程搭建】(2/9)
  • 【Redis7】Redis7 十大数据类型
  • java 死锁怎么解决, 盘它
  • 【新2023Q2押题JAVA】华为OD机试 - 服务依赖
  • 交友项目【通用设置】三个功能实现
  • MongoDB 更新文档(更新多条文档)
  • ubuntu20 qt6.4.3 ustc镜像安装 xdma
  • 15_I.MX6ULL_LCD显示原理
  • Vue.js 2.0 实例
  • 安全技术和iptables防火墙
  • StringBuilder和StringBuffer的区别
  • 美团大数据开发转正实习面经(已OC)
  • leedcode刷题(2)
  • 0119 磁盘分区、挂载
  • 【独家】华为OD机试 - 打折买水果(C 语言解题)
  • python使用args,kwargs
  • 20230408英语学习
  • ReplacingMergeTree
  • Java核心技术知识点笔记—集合(二)
  • Sharepoint Online手工迁移方案 | 分享二
  • MVC获取当前区域、控制器、Action
  • 第十六章 脚手架文件介绍
  • 基于Clion开发(stm32移植FreeRTOS+LVGL)
  • Python | 蓝桥杯进阶第三卷——动态规划
  • 蓝桥杯31天真题冲刺|题解报告|第二十九天
  • [Rust GUI]fltk-rs的helloworld