ElasticSearch 数据同步

news/2024/12/24 20:24:32/

1、同步调用

操作步骤

  1. 管理系统新增酒店数据添加到数据库
  2. 调用 ES 更新文档接口,同步数据库的数据到 ES 文档

流程图

在这里插入图片描述
特点:

  • 优点:实现简单,粗暴
  • 缺点:业务耦合度高

2、异步消息通知

操作步骤

  1. 管理系统更新酒店数据同步到数据库
  2. 发布酒店数据变更消息
  3. 监听酒店数据变更消息
  4. 更新新的酒店信息到 ES 文档

流程图

在这里插入图片描述
特点:

  • 优点:低耦合,实现难度一般
  • 缺点:依赖 MQ 的可靠性

3、监听 binlog

操作步骤

  1. 开启 MySQL的 binlog 功能
  2. MySQL完成增、删、改操作都会记录在 binlog 中
  3. 使用 canal 监听 MySQL的 binlog,并实时更新 ES 文档内容

流程图

在这里插入图片描述
特点:

  • 优点:完全解除服务间耦合
  • 缺点:开启 binlog 增加数据库负担、实现复杂度高

http://www.ppmy.cn/news/1557822.html

相关文章

Unity3D仿星露谷物语开发5之角色单例模式

1、目的 使用单例模式创建角色对象,保证整个游戏中只有一个角色,并且让游戏对象具有全局可访问性。 2、流程 (1)创建SingletonMonobehaviour脚本 Assets下创建Scripts目录用于存放所有的脚本,再创建Misk子目录&…

Java的基础概念(一)

一、注释 **注意!:**注释内容不会参与编译和运行,仅仅是对代码的解释说明。 Java支持单行注释、多行注释、文档注释。 单行注释 以//开头 ,格式【 //注释内容 】 例子如下: 多行注释 格式【 / 注释内容 / 】 例…

【视觉SLAM:Panoptic FPN全景分割网络】

Panoptic FPN是一种全景分割(Panoptic Segmentation)的经典网络,最早由 Kirillov 等人在 2019 年提出。全景分割是一种统一的视觉任务,结合了实例分割(Instance Segmentation)和语义分割(Semant…

前端中的拖拽知识

概述 本文主要介绍前端中拖拽相关的知识以及如何在 vue3 工程里实现拖拽指令。 前端中的拖拽 前端中的拖拽功能是一种交互设计,允许用户通过鼠标或触摸操作移动页面上的元素到不同的位置。这一功能的实现涉及 HTML、CSS 和 JavaScript 的综合运用。 HTML元素拖拽…

RabbitMQ的工作模型

RabbitMQ 其实一共有六种工作模式:简单模式(Simple)、工作队列模式(Work Queue)、发布订阅模式(Publish/Subscribe)、路由模式(Routing)、通配符模式(Topic&a…

sqlilabs第三十关到第三十五关靶场攻略

第三十关 第三十关和二十九关差不多,将单引号换成双引号 查询表名,字段名,数据 ?id1&id-2" union select 1,group_concat(table_name),3 from information_schema.tables where table_schemadatabase()-- ?id1&id-2" …

搜索引擎蜘蛛池的原理是什么,蜘蛛池搭建教程(蜘蛛池.中国)

搜索引擎蜘蛛池的原理 模拟自然链接结构:通过大量域名和服务器资源创建众多站点页面,相互链接形成类似自然的庞大链接结构,吸引搜索引擎蜘蛛频繁访问. 制造活跃假象:蜘蛛池中的网页内容丰富且更新频繁,会让搜索引擎蜘…

前端项目发布后打开报错Uncaught SyntaxError: Unexpected token ‘<‘ (at chunk-vendors)

报错原因&#xff1a;请求js拿到的是一个非js脚本文件&#xff0c;因为请求没拿到正确路径。 如&#xff1a;我的项目是部署在www.a.com/web下&#xff0c;打包后index.html内请求的脚本默认是 <script src"/static/js/chunk-vendors.ea8a242f.js"></scrip…