首页 > 数据库 >Mysql实时数据监听高可用

Mysql实时数据监听高可用

时间:2024-06-04 14:32:45浏览次数:33  
标签:canal binlog 数据源 实时 集群 Mysql 监听 客户端

一、需求:

数据实时监听在项目中有着重要的意义,例如某些项目需要监听数据库的变化,生成对应的元数据块,这个数据块为前端接口提供数据支撑或者数据计算使用,监听到某些数据的变化,及时提醒上游或下游服务等等。

如何保证数据监听的高可用?本文用自身项目结构简易阐述,不喜勿喷。

二、方式

1、使用主动轮询的方式。

2、使用mysql提供的binlog客户端。

3、使用canal集群slave客户端。

三、架构图

1、搭建zk集群,为canal集群搭建使用。

2、搭建canal集群。

3、canal集群中创建canal实例,作为服务的canal客户端。

4、数据库使用主从集群。实时数据监听作为只读服务,可以监听只读从库作为数据源。实例可以配置双数据源,master作为主要数据源使用。slave作为备用数据源使用。当master和slave单库不可用时,可以相互切换保证canal内部的高可用。

5、业务服务集成canal监听,以及binlog监听两种方式,其中binlog作为备选,当canal集群与数据库连接导致异常时,binlog可以作为备选使用。

6、业务服务监听数据变化的同时需要将binlogname ,position,gtid 记录下来,方便两种切换时找到切换位置。

canal集群搭建canal集群搭建-CSDN博客

canal客户端springboot集成canal canal starter 小工具-CSDN博客

标签:canal,binlog,数据源,实时,集群,Mysql,监听,客户端
From: https://blog.csdn.net/qq_16938433/article/details/139436773

相关文章

  • 适合小白学习的项目1901java体育馆管理系统Myeclipse开发mysql数据库web结构java编程
    一、源码特点java体育馆管理系统是一套完善的web设计系统,对理解JSPjava编程开发语言有帮助采用了java设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,使用java语言开发。java体育馆管理系......
  • PySpark JDBC 读写 MySQL 数据库保姆级指南
    目录1.环境准备1.1安装PySpark1.2MySQLJDBC驱动2.PySparkJDBC连接配置2.1JDBCURL......
  • Springboot计算机毕业设计医院门诊小程序【附源码】开题+论文+mysql+程序+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着移动互联网技术的迅猛发展,人们对于医疗服务的便捷性和高效性提出了更高要求。传统医院门诊流程复杂、耗时较长,已无法满足现代患者快速就医的需求......
  • Springboot计算机毕业设计医院排班&预约小程序【附源码】开题+论文+mysql+程序+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在现代医疗服务体系中,医生与患者的对接效率直接影响着医院的运营效率和患者的就医体验。传统的排班与预约方式往往存在信息更新不及时、预约流程繁琐......
  • 实时分析用户反馈:淘宝商品评论API助力电商创新
    淘宝商品评论API在助力电商创新,特别是在实时分析用户反馈方面,发挥着重要作用。以下是关于淘宝商品评论API如何支持电商创新的详细解析:一、淘宝商品评论API概述淘宝商品评论API是淘宝开放平台提供的一种数据接口服务,允许开发者通过编程方式获取淘宝平台上的商品评论信息。这些......
  • 使用ansible自动化安装MySQL8的mysql-router+mysql-shell+mysql架构InnoDB ReplicaSet
    【说明】当前数据库MySQLCommunityServer8.4.0LTS版本已经发行,使用InnoDBReplicaSet架构自动化搭建 【自动化安装】使用ansible安装mysql-router+mysql-shell+mysqltreemysql8/mysql8/├──mysql_ms.yaml└──roles└──mysql_ms├──tasks......
  • 梵几 x TapData:如何高效落地实时数据中台,助力家居企业优化数字营销
    使用TapData,化繁为简,摆脱手动搭建、维护数据管道的诸多烦扰,轻量代替OGG、DSG等同步工具,「CDC+流处理+数据集成」组合拳,加速数据流转,帮助企业将真正具有业务价值的数据作用到实处,将“实时数仓”等实时的中央化数据存储方法论落进现实。TapData持续迭代产品能力,优化用户体......
  • MySql 使用 NOT IN 返回值包含null值,返回数据不全
      mysqlnotin()找不到nullstatusnin('100','200','300','500')换成statusin('400')isnottrue      来源:https://blog.csdn.net/qq_35387940/article/details/127959272?spm=1001.2101.3001.6650.17&......
  • Linux下使用mysql
    安装源码安装和yum安装。可以看教程:菜鸟教程:mysql安装使用日常操作命令启停服务1.查看进程状态ps-ef|grepmysql2.mysql服务启停sudosystemctlstartmysql#启动sudosystemctlstopmysql#关闭sudosystemctlrestartmysql#重启sudosystemctlstatusmysql......
  • 如何理解mysql小表驱动大表
    就像自行车爬坡一样么,小齿轮驱动大齿轮MySQL采用“小表驱动大表”的策略,确实在某种程度上类似于自行车爬坡时小齿轮驱动大齿轮的原理,目的都是为了更高效地利用有限的资源达到目标。在数据库查询的上下文中,这个策略背后的逻辑可以这样理解:1.**效率最大化**:小表数据量少,遍历小......