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

中间件兴趣圈

《RocketMQ技术内幕》作者维护,关注Netty、Mycat、Dubbo、es-job、Rocketmq、es、mybatis等。
专栏成员
129
文章
255491
阅读量
101
订阅数
Canal binlog 日志管理器与GTID简介
正如上文提到的那样,在 Canal Instance 启动的时候,首先会查询日志管理器中查找上一次的同步位点,如果没有查询到,则默认会从最新的位点开始同步,但如果每一次启动 Instance 都从最后开始同步,其数据完整性无法保证,正确的做法是在数据同步的过程中应该记录位点并持久化,重新启动后按照继续从上一次的位置继续同步,实现真正的增量同步。
丁威
2020-07-28
1.9K0
Canal 初次启动时如何定位同步位点(文末附流程图)
本文将详细剖析Canal在初次启动时如何定位同步位点,行为思路先源码,再辅以流程图进行说明,并在总结部分使用思维导图进行总结,试图引发各位的讨论。
丁威
2020-07-22
2.4K0
Canal 如何保证数据库库事务的一致性
关系型数据库讲究的是ACID 4个特性,故引入了数据库事务的概念,一个数据库事务中的多条SQL引发的多条数据变更要么全部成功,要么全部失败,即数据的一致性,那同样在数据同步的场景,在解析一个事务的 binlog 日志时,一次数据同步应该至少以事务为单位,一个事务内的所有 Event 应该作为一个批次提交到数据消费端,让消费端有能力一次同步一个事务中的数据,而不是一条一条变更日志的处理,这样容易造成数据不一致。
丁威
2020-07-14
1.6K0
探究 Canal EventParser 的设计与实现奥妙
首先我们先从官方文档来看 EventParser 的整体设计,其架构设计图如下所示:
丁威
2020-07-10
1.1K0
一文详解 Canal Instance 设计理念与定制开发思路
从 Canal 系列的第一篇文章我们基本能了解到,Instance 是 Canal 数据同步的核心,在一个 Canal 实例中只有启动 Instace,才能实现数据的同步,那 Instance 到底是“何许人也”,本文将以源码为手段,试图揭开 Instance 的神秘面纱。
丁威
2020-06-23
1.7K0
数据异构重器之 Canal 初探
提到 Canal,大家应该都能想到这是一个用于解析 MySQL binlog 日志的工具,并将 MySQL 数据库中数据同步到其他存储介质中,例如 Elasticsearch。
丁威
2020-06-16
1.3K0
我的另一种参与 RocketMQ 开源社区的方式
首先先“SHOW”一波我在 RocketMQ 开源社区所获得的成就:2019年RocketMQ社区授予我优秀布道师荣誉称号,证书很高大上,奖品丰厚哦。
丁威
2020-06-09
8780
结合 Sentinel 专栏谈谈我的源码阅读方法
Sentinel 系列共包含15篇文章,主要以源码分析为手段,图文并茂的方式对 Sentinel 的架构设计理念、核心实现要点进行了一一剖析,并加以实战分析与思考。
丁威
2020-06-02
1.1K1
Sentinel 系统自适应限流原理剖析与实战指导
看到标题中的几个关键字系统自适应限流是不是觉得高大上,这个自适应又是如何实现的呢?
丁威
2020-05-26
4.4K0
RocketMQ 一行代码造成大量消息丢失
错误信息关键点:MQBrokerException:CODE:2 DESC:[TIMEOUT_CLEAN_QUEUE]broker busy,start flow control for a while,period in queue:205ms,size of queue:880。
丁威
2020-05-18
1.1K0
Sentinel Dubbo 适配器看限流与熔断(实战思考篇)
本文是源码分析 Sentinel 系列的第十三篇,已经非常详细的介绍了 Sentinel 的架构体系、滑动窗口、调用链上下文、限流、熔断的实现原理,相信各位读者朋友们对Sentinel有一个较为体系化的认知了,这个时候是该开始如何在生产环境进行运用了。
丁威
2020-05-15
2.2K0
RocketMQ集群平滑扩缩容【实战笔记】
在 RocketMQ 集群的实践中,对集群扩容、缩容、节点下线等运维做到平滑、业务无感知、数据无丢失,这个对于集群运维的同学来说非常重要。
丁威
2020-05-08
2.3K0
Sentinel 动态数据源架构设计理念与改造实践
在介绍集群限流之前需要首先掌握动态数据源的配置方式,本文将根据 Sentinel 官方提供的代码提出整体架构思路,并最终给出实践指导。
丁威
2020-05-08
1.1K0
Sentinel 集群限流设计原理
为了充分利用硬件的资源,诸如 Dubbo 都提供了基于权重的负载均衡机制,例如可以将8C16G的机器设置的权重是4C8G的两倍,这样充分利用硬件资源,假如现在需要引入 Sentinel 的限流机制,例如为一个 Dubbo 服务设置限流规则,这样由于三台集群分担的流量不均匀,会导致无法重复利用高配机器的资源。
丁威
2020-05-07
4.5K0
Sentienl 流控效果之匀速排队与预热实现原理与实战建议
DefaultController 快速失败已经在上文详细介绍过,本文将详细介绍其他两种策略的实现原理。
丁威
2020-04-14
1.3K0
源码分析 Sentinel DegradeSlot 熔断实现原理
Sentinel 中的熔断实现类为 DegradeSlot。DegradeSlot 的类定义如下图所示:
丁威
2020-04-14
1.9K0
源码分析RateLimiter SmoothWarmingUp 实现原理(文末附流程图)
上一篇详细介绍了 SmoothBursty 的实现原理,本文将介绍带有预热机制的限速器实现原理。
丁威
2020-03-31
1.4K0
源码分析 RateLimiter SmoothBursty 实现原理(文末附流程图)
上篇详细介绍了Sentinel FlowSlot 限流实现原理(文末附流程图与总结)的限流实现机制,但主要介绍的策略限流的快速失败机制,在Sentinel 中除了快速失败,还提供了匀速排队,预热等限流策略,但我发现 Sentinel 的匀速排队、预热机制是基于 guava 的 RateLimiter,为了更加彻底的理解 Sentienl 限流相关的内容,从本文开始先来学习一下 RateLimiter 的相关实现原理。
丁威
2020-03-31
1.3K0
RocketMQ msgId与offsetMsgId释疑(实战篇)
本文将详细介绍消息发送、消息消费、RocketMQ queryMsgById 命令以及 rocketmq-console 等使用场景中究竟是用的哪一个ID。
丁威
2020-03-10
1.9K0
源码分析 Sentinel 实时数据采集实现原理
本篇将重点关注 Sentienl 实时数据收集,即 Sentienl 具体是如何收集调用信息,以此来判断是否需要触发限流或熔断。
丁威
2020-02-17
1.2K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档