首页
学习
活动
专区
工具
TVP
发布

中间件兴趣圈

《RocketMQ技术内幕》作者维护,关注Netty、Mycat、Dubbo、es-job、Rocketmq、es、mybatis等。
专栏作者
129
文章
245649
阅读量
101
订阅数
Canal binlog 日志管理器与GTID简介
正如上文提到的那样,在 Canal Instance 启动的时候,首先会查询日志管理器中查找上一次的同步位点,如果没有查询到,则默认会从最新的位点开始同步,但如果每一次启动 Instance 都从最后开始同步,其数据完整性无法保证,正确的做法是在数据同步的过程中应该记录位点并持久化,重新启动后按照继续从上一次的位置继续同步,实现真正的增量同步。
丁威
2020-07-28
1.8K0
Canal 初次启动时如何定位同步位点(文末附流程图)
本文将详细剖析Canal在初次启动时如何定位同步位点,行为思路先源码,再辅以流程图进行说明,并在总结部分使用思维导图进行总结,试图引发各位的讨论。
丁威
2020-07-22
2.2K0
Canal 如何保证数据库库事务的一致性
关系型数据库讲究的是ACID 4个特性,故引入了数据库事务的概念,一个数据库事务中的多条SQL引发的多条数据变更要么全部成功,要么全部失败,即数据的一致性,那同样在数据同步的场景,在解析一个事务的 binlog 日志时,一次数据同步应该至少以事务为单位,一个事务内的所有 Event 应该作为一个批次提交到数据消费端,让消费端有能力一次同步一个事务中的数据,而不是一条一条变更日志的处理,这样容易造成数据不一致。
丁威
2020-07-14
1.5K0
探究 Canal EventParser 的设计与实现奥妙
首先我们先从官方文档来看 EventParser 的整体设计,其架构设计图如下所示:
丁威
2020-07-10
1K0
一文详解 Canal Instance 设计理念与定制开发思路
从 Canal 系列的第一篇文章我们基本能了解到,Instance 是 Canal 数据同步的核心,在一个 Canal 实例中只有启动 Instace,才能实现数据的同步,那 Instance 到底是“何许人也”,本文将以源码为手段,试图揭开 Instance 的神秘面纱。
丁威
2020-06-23
1.6K0
Mybatis 一二级缓存实现原理与使用指南
Mybatis 与 Hibernate 一样,支持一二级缓存。一级缓存指的是 Session 级别的缓存,即在一个会话中多次执行同一条 SQL 语句并且参数相同,则后面的查询将不会发送到数据库,直接从 Session 缓存中获取。二级缓存,指的是 SessionFactory 级别的缓存,即不同的会话可以共享。
丁威
2019-08-30
1.2K0
【图文并茂】Mybatis执行SQL的4大基础组件详解
sql执行器,其对应的类全路径:org.apache.ibatis.executor.Executor。
丁威
2019-06-11
9200
源码分析Mybatis MappedStatement的创建流程
上文重点阐述源码分析MapperProxy初始化,但并没有介绍.Mapper.java(UserMapper.java)是如何与Mapper.xml文件中的SQL语句是如何建立关联的。本文将重点接开这个谜团。
丁威
2019-06-11
1.4K0
源码分析Mybatis MapperProxy初始化【图文并茂】
MapperScannerConfigurer,Spring整合Mybatis的核心类,其作用是扫描项目中Dao类,将其创建为Mybatis的Maper对象即MapperProxy对象。
丁威
2019-06-11
9730
源码分析ElasticJob任务错过机制(misfire)与幂等性
任务在调度执行中,由于某种原因未执行完毕,下一次调度任务触发后,在同一个Job实例中,会出现两个线程处理同一个分片上的数据,这样就会造成两个线程可能处理相同的数据,因此Elastic-Job引入幂等机制来解决上述问题。再重申一次ElastciJob的分布式是数据的分布式,一个任务在多个Job实例上运行,每个Job实例处理该Job的部分数据(数据分片)。 本文重点分析ElasticJob是如何做到如下两点的。
丁威
2019-06-10
1.5K0
ES度量聚合(ElasticSearch Metric Aggregations)
本篇重点介绍Elasticsearch Metric Aggregations(度量聚合)。
丁威
2019-06-10
1.3K0
生产环境JVM内存溢出案例分析
如果我们所在公司的业务量比较大,在生产环境经常会出现JVM内存溢出的现象,那我们该如何快速响应,快速定位,快速恢复问题呢?
丁威
2019-06-10
2.5K0
【图文并茂】源码解析MyBatis Sharding-Jdbc SQL语句执行流程详解
本文将详细介绍Mybatis SQL语句执行的全流程,本文与上篇具有一定的关联性,建议先阅读该系列中的前面3篇文章,重点掌握Mybatis Mapper类的初始化过程,因为在Mybatis中,Mapper是执行SQL语句的入口,类似下面这段代码:
丁威
2019-06-04
1.2K0
源码分析Mybatis插件(Plugin)机制与实战
有了 Mybatis执行SQL的4大基础组件详解 与 源码解析MyBatis Sharding-Jdbc SQL语句执行流程详解两篇文章的铺垫,本文将直奔主题:Mybatis插件机制。
丁威
2019-06-03
7050
没有更多了
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档