RabbitMQ实现ElasticSearch和MySQL数据同步


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • RabbitMQ实现ElasticSearch和MySQL数据同步
  • yml中配置和依赖地址
  • 一、声明交换机和队列名称常量
  • 二、配置MQConfig类
  • 发送MQ消息
    • 注入RabbitTemplate
  • 监听MQ的消息队列

yml中配置和依赖地址

    <!--amqp依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>

一、声明交换机和队列名称常量

二、配置MQConfig类

使用@Configuration定义配置类

  • 声明交换机
  • 声明新增/修改队列
  • 声明删除队列
  • 创建绑定关系Bean,返回类型Binging
    调用自定义的创建队列方法和交换机方法,将队列绑定到交换机
    再设置RoutingKey

发送MQ消息

MySQL先删除,再发送消息,要保证这两个操作是事物

注入RabbitTemplate


调用方法传入对应交换机和队列以及RoutingKey



监听MQ的消息队列

创建MQ监听类@Component交由spring容器管理

  • @RabbitListener(queues = 要监听的队列名称)

  • 方法的入参,与队列发送消息的数据类型一样,因为我们在发送消息的时候是发送的ID,所以在这里监听的入参,我们也要写ID

  • 方法体重写操作(新增、修改、删除)ES的代码逻辑

  • 要注意的是,在新增/修改的时候,要先从数据库中查询出已经新增/修改完毕的对象,再进行ES的操作

  • 删除就比较简单,直接按ID删除ES的数据就好

RabbitMQ实现ElasticSearch和MySQL数据同步相关推荐

  1. Elasticsearch 与mysql数据同步

    这里写自定义目录标题 Elasticsearch 与mysql数据同步 安装logstash 启动 注意事项,很重要 Elasticsearch 与mysql数据同步 通过调用Elasticsearc ...

  2. Elasticsearch与MySQL数据同步

    Elasticsearch数据同步 elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,elasticsearch也必须跟着改变,这个就是elasticsear ...

  3. Elasticsearch和MySQL数据同步(logstash-input-jdbc)全量增量方式同步近千万数据

    同步方案: 同步读写:最为简单的方式在将数据写到mysql时,同时将数据写到ES,实现数据的双写. 异步双写(MQ方式):MQ的性能基本比mysql高出一个数量级,所以性能可以得到显著的提高. 定时器 ...

  4. liunx下通过Canal将MySQL数据同步到Elasticsearch

    liunx下通过Canal将MySQL数据同步到Elasticsearch 一.canal背景信息 Canal是Github中开源的ETL(Extract Transform Load)软件 cana ...

  5. Mysql 数据同步到 Elasticsearch

    阅读目录 说明 1 同步原理 2 插件 logstash-input-jdbc go-mysql-elasticsearch elasticsearch-jdbc 3 logstash-input-j ...

  6. 通过Canal将MySQL数据同步到elasticsearch (mysql8+canal1.1.5+canal-adapter1.1.5+elasticsearch6.7.0+ik6.8.6)

    经过几天的的深入研究(网上的文档很多,但是坑不少,少一个配置可能就走入了死胡同),特此将我部署的过程意义道来(参考文档通过Canal将MySQL数据同步到阿里云Elasticsearch - 检索分析 ...

  7. ES和MySQL数据同步(简略版)

    一.在docker配置elasticsearch和kibana 1.注:elasticsearch和kibana的版本要一致 elesticsearch --拉取镜像 docker pull dock ...

  8. MYSQL数据同步到ES7

    ** 概述 ** 现在的项目数据量越来越大,全文检索功能使用场景也越来越普遍. 而我们一般的生产数据是在mysql,或其它一些数据库, 我们的产品数据就是mysql,而又要使用全文检索, 所以要把my ...

  9. MySql数据同步(双机热备)已正式应用上平台

    经过一个多月的测试MYSQL的双机同步数据还是很不错的. 在家庭ADSL的4M的带宽下,有10个人在应用此网络,MYSQL数据同步还是照样正常,我想在正常的平台环境肯定更即时,效率更高! 但同时需要注 ...

最新文章

  1. magento 为用户注册增加一个字段(转)
  2. OpenStack基金会的白金和黄金成员公司
  3. 关于exchange 2013输入账号密码后owa空白页解决方法
  4. CodeForces - 1445E Team-Building(可撤销并查集)
  5. Golang 微服务系列 go-kit(Log,Metrics,Tracing)
  6. CSDN编程挑战——《进制转换》
  7. linux系统怎么删除打印机,解决LINUX ES3.0下想指定打印机和用户的删除打印作业的问题...
  8. day24-抽象类与接口类
  9. Uinttest +excel结合使用--详细讲解
  10. Incorrect username or password (access token)
  11. Java爬虫入门(一)
  12. 【代码实现和训练】OCR技术——引入了Attention机制的crnn的印刷体汉字识别
  13. Unity3d 2019室内光照贴图lightmap快速烘焙(转载)
  14. 播放器html模板,腾讯HTML播放器模板
  15. 我为什么还坚持做公众号?(二)
  16. c语音删除字符数组中的元素
  17. 获取手机联系人信息(姓名 电话号码)
  18. SCP 从Linux下载文件到Windows本地
  19. [VB.NET]如何向数据库字段中写入文件?
  20. 首席新媒体运营商学院创始人黎想:裂变底层逻辑,刷屏的3个方法!

热门文章

  1. 华为nova6se会搭载鸿蒙,华为nova6se支持无线充电吗 nova6全系标配40W超级快充
  2. php 日期格式化方法详解 PHP
  3. 上古卷轴5移除瑟拉娜兜帽_上古卷轴5天际解除瑟拉娜在哪里还能找到 | 手游网游页游攻略大全...
  4. 币圈雇佣军——市值管理团队
  5. CSS元素上下左右居中的几种方式
  6. 一般常见的非线性编辑软件有那些,他们的特性是怎么样的_百度知道
  7. Linux查看文件常用命令
  8. 骁龙835在Windows 10上的性能表现有望改善
  9. 西天取经真相之二(悟空采访实录)
  10. 2022最新在线PHP文件SG11加密平台系统源码