canal整合springboot实现mysql数据实时同步到redis
业务场景:
项目里需要频繁的查询mysql导致mysql的压力太大,此时考虑从内存型数据库redis里查询,但是管理平台里会较为频繁的修改增加mysql里的数据
问题来了:
如何才能保证mysql的数据实时同步到redis里呢.
问题解决方案:
经过学习调研发现了一款阿里开源的框架canal, 底层大致就模拟成mysql的salve,监听binlog,并通过网络传输, 交由客户端消费处理
具体学习可以参考官方文档 :
https://github.com/alibaba/canal
我的成品:
在gitee和github搜索''canal整合springboot实现mysql数据实时同步到redis" 无果后, 我决定自己手写一套canal实时同步数据源的通用框架.
这样用了我的框架只需要注重于业务代码的实现,并把几个业务组件组装一下即可实现程序的运行,大大提高了开发效率.
我的代码里还是实现了同步mysql一张或者多张表的数据到redis里
具体的代码地址:
gitee:
https://gitee.com/maowei1996/canal-data-sync
github:
https://github.com/maowei0427/canal-data-sync
如果对你能够有所帮助, 劳烦动动你勤劳的小手给我一个star哦
canal整合springboot实现mysql数据实时同步到redis的更多相关文章
- Mysql数据实时同步
		
企业运维的数据库最常见的是 mysql;但是 mysql 有个缺陷:当数据量达到千万条的时候,mysql 的相关操作会变的非常迟缓; 如果这个时候有需求需要实时展示数据;对于 mysql 来说是一种灾 ...
 - mysql数据实时同步到Elasticsearch
		
业务需要把mysql的数据实时同步到ES,实现低延迟的检索到ES中的数据或者进行其它数据分析处理.本文给出以同步mysql binlog的方式实时同步数据到ES的思路, 实践并验证该方式的可行性,以供 ...
 - 【转】美团 MySQL 数据实时同步到 Hive 的架构与实践
		
文章转载自公众号 美团技术团队 , 作者 萌萌 背景 在数据仓库建模中,未经任何加工处理的原始业务层数据,我们称之为ODS(Operational Data Store)数据.在互联网企业中,常见的 ...
 - elasticsearch+logstash_jdbc 实现mysql数据实时同步至es
		
jdk安装1.8版本,es.ls.ik.kibana版本一致我这里使用的6.6.2版本 安装es tar xf elasticsearch-6.6.2.tar.gz mv elasticsearch- ...
 - MySQL数据实时增量同步到Kafka - Flume
		
转载自:https://www.cnblogs.com/yucy/p/7845105.html MySQL数据实时增量同步到Kafka - Flume 写在前面的话 需求,将MySQL里的数据实时 ...
 - MySQL 到 ES 数据实时同步技术架构
		
MySQL 到 ES 数据实时同步技术架构 我们已经讨论了数据去规范化的几种实现方式.MySQL 到 ES 数据同步本质上是数据去规范化多种实现方式中的一种,即通过"数据迁移同步" ...
 - sersync实现数据实时同步
		
1.1 第一个里程碑:安装sersync软件 1.1.1 将软件上传到服务器当中并解压 1.上传软件到服务器上 rz -E 为了便于管理上传位置统一设置为 /server/tools 中 2.解压软件 ...
 - CentOS7下Rsync+sersync实现数据实时同步
		
近期公司要上线新项目,后台框架选型我选择当前较为流行的laravel,运行环境使用lnmp. 之前我这边项目tp32+apache,开发工具使用phpstorm. 新建/编辑文件通过phpstorm配 ...
 - Linux下Rsync+sersync实现数据实时同步
		
inotify 的同步备份机制有着缺点,于是看了sersync同步,弥补了rsync的缺点.以下转自:http://www.osyunwei.com/archives/7447.html 前言: 一. ...
 
随机推荐
- KMP算法-字符匹配
			
字符匹配模式-KMP算法 j直接跳到了2的位置,因为在之前的都相同. 那么就需要求如果不等了之后,j需要回跳的位置next[j] 如果tk'与tj相等,则next [j+1]=k'+1 如果tk'与t ...
 - 线程创建,属性设置与获得,等待线程结束,线程中fork,以及执行exec()
			
这篇博客的形式我想以分析代码不同情况为主: 点击(此处)折叠或打开 #include<stdio.h> #include<pthread.h> #include<time ...
 - ELK集群之kibana(4)
			
kibane安装及基础使用 Kibana的安装 Kibana包含前端展示.es操作简化 yum localinstall kibana-7.6.2-x86_64.rpm -y Kibana配置修改ki ...
 - 大白话讲解如何解决HttpServletRequest的请求参数只能读取一次的问题
			
大家在开发过程中,可能会遇到对请求参数做下处理的场景,比如读取上送的参数中看调用方上送的系统编号是否是白名单里面的(更多的会用request中获取IP地址判断).需要对请求方上送的参数进行大小写转换或 ...
 - Linux Kdump 机制详解
			
文章目录 1. 简介 1.1 安装 1.2 触发 kdump 1.3 调试 kdump 1.3.1 安装 debuginfo vmlinux 1.3.2 编译 kernel 1.4 kdump-too ...
 - Spring 之 BeanFactory 源码 - 抽象/类 分析
			
BeanFactory的基本类体系结构(类为主):
 - js实现全选与全部取消功能
			
function checkAll() { //把所有参与选择的checkbox使用相同的name,这里为"num_iid" var eles = document.getE ...
 - 【linux系统】命令学习(七)进阶命令 curl jq
			
curl 支持dict file ftp ftps gopher http https imap 1.实现代理 curl -x 129.3.3.3:8888 https://baidu.com 2.g ...
 - Vue安装Vue Devtools调试工具提示 Error: Cannot find module '@vue-devtools/build-tools' 解决办法
			
我看网络上面安装Vue Devtools 调试工具的步骤几乎都是按照文章链接里的步骤进行安装, 但是在最终执行编译命令的时候 :npm run build ,提示如下错误: 尝试了很多方法,都不能解决 ...
 - [loj502]ZQC的截图
			
给每一个人一个随机数$R_{i}$,将一个消息中所有人的的$R_{i}$在三进制下相加(多次出现需要多个$R_{i}$),最终之和若为0,即判定答案为-1,若为某个$R_{i}$或$R_{i}+R_{ ...