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

Es索引同步异步Canal解耦方案

Es索引同步异步Canal解耦方案

首先传统的Es索引同步耦合性太高需要使用业务逻辑来同步,一旦在同步的时候服务器出现异常就用可能同步失败导致影响到其他业务,这里使用的是Canal中间件来实现异步同步索引。

简述:

​ 这里以电商项目为例,当需要添加,修改或删除商品时为了电商的查询服务能够获取到最新的索引,我们需要同步数据库的商品数据。此时Canal会监听到商品表的数据变化,当数据库的商品表发生变化时Canal会将变化的数据发送到mq的消息队列,这一步是为了保证消息不丢失,再由监听相应消息队列的listener接收消息,解析并存入Es。

具体流程如下:

1.监听数据变化

• Canal 通过监听数据库的 binlog 日志,捕获商品表的增删改操作。

2.消息投递

• 当商品表发生变更时,Canal 会将变更数据发送至 消息队列(MQ),以此保证数据传递的可靠性与不丢失。

3.消息消费与索引更新

• 消息监听器 订阅并消费消息队列中的数据。
• Listener 对消息内容进行解析后,将处理结果写入 Elasticsearch 索引,实现数据的最终一致性。

通过这种方式,业务逻辑与索引同步彻底解耦,系统的可靠性、可维护性和扩展性都得到显著提升。

http://www.wxhsa.cn/company.asp?id=3783

相关文章:

  • 在Ubuntu上配置phpMyAdmin和WordPress环境
  • “四人过河”经典问题
  • 完整教程:C#语言入门详解(18)传值、输出、引用、数组、具名、可选参数、扩展方法
  • DevOps On Kubernetes
  • 深耕Linux系统的道与术
  • Debugging via Intel DCI 小蓝盒
  • 我做了个 AI 文档阅读神器,免费开源!
  • 20250913 P11503 [NordicOI 2018] Nordic Camping
  • Dify实战训练营(基础班)(全免费值得收藏)
  • C 语言的历史和版本
  • PostgreSQL 上的向量搜索实践
  • 【数据结构——图与邻接矩阵】 - 实践
  • (读书笔记)平衡掌控者
  • 带头结点的单链表删除指定位置结点
  • 《文字、语言与数字的奇妙联结》读后感,大公司内部编码规范,本学期编码遵守规范
  • [HTTP/Spring] RestTemplate : Spring的HTTP网络请求框架
  • 深入解析:Linux使用-MySQL的使用
  • 博客园-我的博客-的皮肤更换
  • Apache Commons Math3 使用指南:强大的Java数学库 - 教程
  • HarmonyOS图形处理:Canvas绘制与动画开发实战
  • script setup 在 Vue 3 中的核心作用及具体实现方式
  • 0voice-1.4.1-cmake
  • test test test
  • 容器化改造基本原理
  • Blogroll 友链
  • Java 字节码与 ASM 框架实战解析
  • 计算机大数据毕业设计选题:基于Spark+hadoop的全球香水市场趋势分析系统 - 详解
  • Dos的常用命令
  • 持续集成自动化CI/CD
  • Lightroom Classic 2025(LRC 2025)安装教程(附直接安装包下载)+入门操作指南