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博客

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值