分布式环境下的数据同步
一般而言elasticsearch负责搜索(查询),而sql数据负责记录(增删改),elasticsearch中的数据来自于sql数据库,因此sql数据发生改变时,elasticsearch也必须跟着改变,这个就是elasticsearch与mysql之间的数据同步。
常见的数据同步的方法
同步调用
基本步骤如下:
- hotel-demo对外提供接口,用来修改elasticsearch中的数据
- 酒店管理服务在完成数据库操作后,直接调用hotel-demo提供的接口,
3.1.2.异步通知
流程如下:
- hotel-admin对mysql数据库数据完成增、删、改后,发送MQ消息
- hotel-demo监听MQ,接收到消息后完成elasticsearch数据修改
监听binlog
流程如下:
- 给mysql开启binlog功能
- mysql完成增、删、改操作都会记录在binlog中
- hotel-demo基于canal监听binlog变化,实时更新elasticsearch中的内容
优缺点
方式一:同步调用
优点:实现简单,粗暴
缺点:业务耦合度高
方式二:异步通知
优点:低耦合,实现难度一般
缺点:依赖mq的可靠性
方式三:监听binlog
优点:完全解除服务间耦合
缺点:开启binlog增加数据库负担、实现复杂度高
相关文章:
![](https://img-blog.csdnimg.cn/bde7ae6359c44370bb3cb152dcfb4240.png)
分布式环境下的数据同步
一般而言elasticsearch负责搜索(查询),而sql数据负责记录(增删改),elasticsearch中的数据来自于sql数据库,因此sql数据发生改变时,elasticsearch也必须跟着改变,这个就是…...
![](https://img-home.csdnimg.cn/images/20230724024159.png?be=1&origin_url=https://www.learnfk.com/guide/images/wuya.png)
无涯教程-Flutter - 数据库
SQLite" class"css-1occaib">SQLite数据库是基于事实和标准SQL的嵌入式数据库引擎,它是小型且经过时间考验的数据库引擎,sqflite软件包提供了许多函数,可以有效地与SQLite数据库一起使用,它提供了操作SQLite数据…...
![](https://img-blog.csdnimg.cn/344a998571554d87a362b157a43de47b.jpeg)
算法笔记:平衡二叉树
1 介绍 平衡二叉树(AVL树)是一种特殊的二叉搜索树(BST),它自动确保树保持低高度,以便实现各种基本操作(如添加、删除和查找)的高效性能。 ——>时间都维持在了O(logN)它是一棵空…...
![](https://www.ngui.cc/images/no-images.jpg)
redis 通用命令
目录 通用命令是什么 SET & GET keys EXISTS DEL EXPIRE TTL redis 的过期策略 定时器策略 基于优先级队列定时器 基于时间轮的定时器 TYPE 通过 redis 客户端和 redis 服务器交互。 所以需要使用 redis 的命令,但是 redis 的命令非常多。 通用命令…...
![](https://img-blog.csdnimg.cn/d838c8f45c61424daea1afa32781cf06.jpeg)
Pycharm配置及使用Git教程
文章目录 1. 安装PyCharm2. 安装Git3. 在PyCharm中配置Git插件4. 连接远程Gtilab仓库5. Clone项目代码6. 将本地文件提交到远程仓库6.1 git add6.2 git commit6.3 git push6.4 git pull 平时习惯在windows下开发,但是我们又需要实时将远方仓库的代码clone到本地&…...
![](https://www.ngui.cc/images/no-images.jpg)
CSS transition 过渡
1 前言 水平居中、垂直居中是前端面试百问不厌的问题。 其实现方案也是多种多样,常叫人头昏眼花。 水平方向可以认为是内联方向,垂直方向认为是块级方向。 下面介绍一些常见的方法。 2 内联元素的水平垂直居中 首先,常见内联元素有&…...
![](https://img-blog.csdnimg.cn/3324bcb653b84d5abd3e95981b68059f.gif)
Unity中Shader的UV扭曲效果的实现
文章目录 前言一、实现的思路1、在属性面板暴露一个 扭曲贴图的属性2、在片元结构体中,新增一个float2类型的变量,用于独立存储将用于扭曲的纹理的信息3、在顶点着色器中,根据需要使用TRANSFORM_TEX对Tilling 和 Offset 插值;以及…...
![](https://img-blog.csdnimg.cn/bb111097ddd642259b21fe2e01fcb84f.png)
Automotive 添加一个特权APP
Automotive 添加一个特权APP platform: android-13.0.0_r32 一. 添加一个自定义空调的app为例 路径:packages/apps/Car/MyHvac app内容可以自己定义,目录结构如下: 1.1 Android.bp package {default_applicable_licenses: ["Andr…...
![](https://www.ngui.cc/images/no-images.jpg)
自定义TimeLine
自定义TimeLine 什么是TimeLineData(数据)Clip(片段)Track(轨道)Mixer(混合) 什么是TimeLine 在 Unity 中,TimeLine(时间轴)是一种用于创建和管理…...
![](https://www.ngui.cc/images/no-images.jpg)
如何使用SQL系列 之 如何在SQL中使用WHERE条件语句
引言 在结构化查询语言 (SQL)语句中,WHERE子句限制了给定操作会影响哪些行。它们通过定义特定的条件(称为搜索条件)来实现这一点,每一行都必须满足这些条件才能受到操作的影响。 本指南将介绍WHERE子句中使用的通用语法。它还将概述如何在单个WHERE子句…...
![](https://img-blog.csdnimg.cn/44b68787936d4b98b53480e3a8d9295b.png)
leetcode:1941. 检查是否所有字符出现次数相同(python3解法)
难度:简单 给你一个字符串 s ,如果 s 是一个 好 字符串,请你返回 true ,否则请返回 false 。 如果 s 中出现过的 所有 字符的出现次数 相同 ,那么我们称字符串 s 是 好 字符串。 示例 1: 输入:s…...
![](https://www.ngui.cc/images/no-images.jpg)
Echarts 各种点击事件监听
目录 一、鼠标事件1.1、左击1.2、双击1.3、右击1.4、右键双击1.5、中轴滚动二、时间轴2.1、时间轴监听三、拖动3.1、拖动事件一、鼠标事件 1.1、左击 chart.on(click, function(params)...
![](https://img-blog.csdnimg.cn/bdd4f87824db4c649b5bdfdeea33ffda.png)
《智能网联汽车自动驾驶功能测试规程》
一、 编制背景 2018 年4 月12 日,工业和信息化部、公安部、交通运输部联合发布《智能网联汽车道路测试管理规范(试行)》(以下简称《管理规范》),对智能网联汽车道路测试申请、审核、管理以及测试主体、测试驾驶人和测试车辆要求等…...
![](https://img-blog.csdnimg.cn/f6e4e4d43d504585a39b3e8918e3ca64.png)
NVIDIA CUDA Win10安装步骤
前言 windows10 版本安装 CUDA ,首先需要下载两个安装包 CUDA toolkit(toolkit就是指工具包)cuDNN 1. 安装前准备 在安装CUDA之前,需要完成以下准备工作: 确认你的显卡已经正确安装,在设备管理器中可以看…...
![](https://img-blog.csdnimg.cn/cfe9410b8dd6416fb39eff19d8287e28.png)
Elasticsearch、Kibana以及Java操作ES 的快速使用
docker 安装elastic search 、 kibana(可视化管理elastic search) docker pull elasticsearch:7.12.1 docker pull kibana:7.12.1创建docker自定义网络 docker自定义网络可以使得容器之间使用容器名网络互连,默认的网络不会有这功能。 一定…...
![](https://www.ngui.cc/images/no-images.jpg)
逐鹿人形机器人,百度、腾讯、小米卷起来
长期不温不火的人形机器人产业迎来新风口,技术显著提升、新品层出不穷、资本投资态度也逐渐好转。 8月18日,2023世界机器人大会博览会正式开放,全面展示了机器人行业的新技术、新产品和新应用。据悉,此次展会展览总面积达4.5万平…...
![](https://www.ngui.cc/images/no-images.jpg)
AndroidStudio推荐下载和配置
1、推荐下载链接 Download Android Studio & App Tools - Android Developers 2、gradle配置案例 // Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {repositories {maven { url https://maven.aliyun.…...
![](https://www.ngui.cc/images/no-images.jpg)
mysql异常占用资源排查
通过执行日志与连接信息排查 查看是否开启日志记录 mysql> show global variables like %general%; --------------------------------- | Variable_name | Value | --------------------------------- | general_log | OFF | | general_log_file…...
![](https://www.ngui.cc/images/no-images.jpg)
requests 库:发送 form-data 格式的 http 请求 (python)
安装 requests-toolbelt !pip install requests-toolbeltdemo from requests_toolbelt import MultipartEncoder import requestsm MultipartEncoder(fields{query: """第一,向量化匹配是有能力上限的。搜索引擎实现语义搜索已经是好几年的事情了…...
![](https://img-blog.csdnimg.cn/40520506b62e4f64a8e758fc448d8b68.png)
行测图形推理规律(一)元素组成
题库:粉笔网题库 (fenbi.com) 不知道和测评的行测题库是不是一样的,但是总结的规律应该是一样的。 规律并不唯一,题库的答案也只是参考答案,切勿当杠精,你觉得你的规律更合适就别管。本人所归纳的规律仅代表本人想法…...
![](https://img-blog.csdnimg.cn/af21faeae6ac4725b373bc2b4bebb59f.png)
【python爬虫】13.吃什么不会胖(爬虫实操练习)
文章目录 前言项目实操明确目标分析过程代码实现 前言 吃什么不会胖——这是我前段时间在健身时比较关注的话题。 相信很多人,哪怕不健身,也会和我一样注重饮食的健康,在乎自己每天摄入的食物热量。 不过,生活中应该很少有人会…...
![](https://www.ngui.cc/images/no-images.jpg)
深入理解联邦学习——联邦学习与现有理论的区别与联系
分类目录:《深入理解联邦学习》总目录 作为一种全新的技术,联邦学习在借鉴一些成熟技术的同时也具备了一定的独创性。下面我们就从多个角度来阐释联邦学习和其他相关概念之间的关系。 联邦学习与差分隐私理论的区别 联邦学习的特点使其可以被用来保护用…...
![](https://img-blog.csdnimg.cn/img_convert/46a2618df85d860719dc0b38766308d7.jpeg)
基于Python+DenseNet121算法模型实现一个图像分类识别系统案例
目录 介绍在TensorFlow中的应用实战案例最后 一、介绍 DenseNet(Densely Connected Convolutional Networks)是一种卷积神经网络(CNN)架构,2017年由Gao Huang等人提出。该网络的核心思想是密集连接,即每…...
![](https://www.ngui.cc/images/no-images.jpg)
旋转图片两种方法
这两种方法在旋转图像时,可能会产生一些不同的效果: rotate_image_new()旋转后的图像完全包含旋转前的内容,并且填充边界尽可能小 rotate_image() 保持原始图像的大小,并根据填充选项决定是否填充边界为白色。如果 if_fill_whit…...
![](https://img-blog.csdnimg.cn/b7cf359e7de44899bd4e6fbbd2f85ea9.png)
10 mysql tiny/small/medium/big int 的数据存储
前言 这里主要是 由于之前的一个 datetime 存储的时间 导致的问题的衍生出来的探究 探究的主要内容为 int 类类型的存储, 浮点类类型的存储, char 类类型的存储, blob 类类型的存储, enum/json/set/bit 类类型的存储 本文主要 的相关内容是 int 类类型的相关数据的存储 …...
![](https://img-blog.csdnimg.cn/8b1d1b46e047429cba0f4a2a115d53d7.png)
UI自动化测试之Jenkins配置
团队下半年的目标之一是实现自动化测试,这里要吐槽一下,之前开发的测试平台了,最初的目的是用来做接口自动化测试和性能测试,但由于各种原因,接口自动化测试那部分功能整个废弃掉了,其中和易用性有很大关系…...
![](https://img-blog.csdnimg.cn/4f2d87dc6de24aeab1eccc132e6b4efd.png)
电视盒子什么品牌好?数码博主盘点目前性能最好的电视盒子
电视盒子是非常重要的,老人小孩基本每天都会看电视,而电视盒子作为电视盒子的最佳拍档销量十分火爆,我自己每个月都会测评几次电视盒子,今天给大家详细解读一下电视盒子什么品牌好,看看目前性能最好的电视盒子是哪些&a…...
![](https://www.ngui.cc/images/no-images.jpg)
对于枚举类型的输出
对于枚举类型的输出 对于枚举类型的输出,您可以使用以下方法:1. 将枚举值转换为整数进行输出:cppODU_TYPE type ODU_TYPE_331;int value static_cast<int>(type);std::cout << "ODU_TYPE: " << value <<…...
![](https://img-blog.csdnimg.cn/e074ae3af8ae432da5f7bacd597ecd1d.png)
solidity开发环境配置,vscode搭配remix
#学习笔记 初学solidity,使用remix非常方便,因为需要的环境都配置好了,打开网站就可以使用。 不过在编写代码方面,使用vscode更方便,而vscode本身并不能像remix那样部署合约,它还需要安装插件。 点击红色箭…...
![](https://www.ngui.cc/images/no-images.jpg)
chatGPT生成代码--go组合算法
提问:用golang写一个组合算法函数zuhe(x,n),x为组合所需的字符,n 为组合后的字符串长度,例如 x"ab", n2 结果返回 aa,ab,bb,ba 结果:下面是一个用Go编写的生成长度为n的字符串组合的函数 zuhe,其…...
![](/images/no-images.jpg)
二次开发主题wordpress/互联网营销软件
由人工智能(AI)和机器人流程自动化(RPA)等新技术驱动的数字劳动力风潮正席卷全球。企业利用软件机器人填补人力短缺的趋势也日益明显。 数字劳动力(Digital Labor)通常也被称为「数字员工」,其技…...
![](https://s1.51cto.com/attachment/201204/173533103.jpg)
阳澄湖大闸蟹网站建设/百度产品大全
一个经理上来电,说他打开网页浏览的时候出现需要安装Adobe Flash layer 才能查看,由于没有管理员权限,我远程在服务器上下载了一个Adobe Flash layer 11 最新版为他安装,但是安装一会就报错,提示简本出错。于是我按确定…...
![](https://img-blog.csdnimg.cn/img_convert/504a55ccf7e906f7689cfdc7d7a1ce82.png)
什么网站做弹窗广告好/百度怎么收录网站
点击关注我,发现更多创意礼物!!想要购买直接看原文:https://www.haowuguo.com/257033.html现在安卓平板可以选择的不是很多了,最近安卓新出的平板也很少,其中比较有吸引力的就是联想的小新pad了,…...
![](https://img-blog.csdnimg.cn/img_convert/ce60107c026a9ac4f722ec0ef939fb86.png)
济宁建网站公司/国际军事新闻最新消息今天
随着国家对智能制造的大力推进,传统工业领域也在加快信息化转型。中铝视拓致力于有色金属领域的工业互联网平台的研发。本文和大家一起讨论在传统工业领域中,基于Kubernetes的容器云如何帮助企业提高信息化效率。现状中铝是一家从事有色金属领域相关的企…...
![](/images/no-images.jpg)
温州外贸公司网站建设公司排名/世界十大网站排名
java基础之抽象类: 一、父类不确定性:(所谓抽象方法就是没有实现的方法,也就是没有方法体的方法) 1.当父类的某些方法,需要声明,但是又不确定如何实现是,可以将其声明为抽象方法&am…...
![](https://img-blog.csdnimg.cn/img_convert/a6e0a2d1c286e5b61a569cdcb6f8066b.png)
外包网站有哪些/百度网络营销
今天在本地连接linux服务端的mysql始终报错61,谷歌后找到原因:linux的mysql默认是不允许远程连接操作的,在stack上面找到方法:修改mysql配置文件/usr/local/mysql/my.cnf,将bind-address127.0.0.1改为0.0.0.0.再连接时…...