源码学习
文章平均质量分 85
简熵
人活着就是在对抗熵增定律,生命以负熵为生。生活工作如此,技术架构亦如此。
展开
-
从源码MessageSource的三个实现出发实战spring·i18n国际化
从源码去看MessageSource的几个实现类的源码出发,基于spring的国际化支持,实现国际化的开箱即用,静态文件配置刷新生效以及全局异常国际化处理。原创 2023-02-28 17:37:03 · 948 阅读 · 1 评论 -
画图搞懂zookeeper的ZAB协议如何保证数据一致性
目录1、zookeeper是什么?2、zookeeper的架构?3、ZAB是什么?4、从启动到崩溃,ZAB协议做了啥?5、数据不一致了,ZAB协议,咋办?分布式锁,zookeeper特殊的数据结构和watcher机制,让他也能高效的实现分布式锁的功能,参考Curactor这款框架,分布式锁开箱即用。元数据管理,Kafka就是使用zookeeper存储核心元数据。分布式协调,master选举原创 2019-12-30 21:22:23 · 1122 阅读 · 1 评论 -
架构初探 · "快男"kafka
1、kafka是什么?kafka是什么?借用官网的一幅图,一段话,身为技术的舔狗,我们舔舔他的魅力。kafka,一个用来构建实时数据管道和流应用程序。它具有水平伸缩性,容错性,飞快运行,并且已经运行在上千家公司的产品中。wow。so cool,用它。首先,他是一个分布式流数据处理平台。从这个角度来说,一个流平台需要具备三个关键能力:发布订阅消息流,消息队列,或者消息发布系统。高...原创 2019-12-17 17:51:53 · 267 阅读 · 0 评论 -
万剑归宗之七剑下天山,redisson的百锁解构(下)
上文,我们分析了redisson剑谱里面的前四式,参见【万剑归宗,redisson的百锁解构(上) 】,本文将继续解构后面的四个招式,对于这些招式的拆解,除了可以让我们对redisson知其然知其所以然,也可以帮助我们去理解jdk中本身就已经实现的那些锁。继续演练余下的几招,以指为剑,剑破苍穹。【 招式四 读写锁 】读写锁,在很多业务场景中,读多写少,多个客户端可以同时读,但是有人写的时...原创 2019-01-17 17:07:24 · 507 阅读 · 0 评论 -
扒开Redisson的小棉袄,Debug深入剖析分布式锁之可重入锁No.1
上次搭建好三主三从的redis cluster集群之后,也试了试redission的加锁解锁的API,那么redission是怎么实现分布式锁的呢?我们就开始对这几行关键的代码进行分析,打好断点,debug调试,是分析源码,学习源码的一个好的方法,OK,让我们开始一场浪漫绚丽的源码探索之旅,redisson的源码写的很漂亮哦。 首先,我们主要去关注加锁的过程,那么对于redi...原创 2019-01-08 17:08:36 · 4442 阅读 · 0 评论 -
画分布式锁之"通文馆圣主"Curator的"十三太保"(上)
上文,我们已经基于图文分析了zookeeper实现分布式锁的基本原理,【画分布式锁之Zookeeper实现机制 】,文末也引出了zookeeper一款强大的客户端框架--Curator,看它的命名也看出了一些乐趣,翻译成中文,叫做馆长,zookeeper当年是因为管理了很多动物命名的分布式组件,才命名成动物管理员,而Curator是馆长,是动物园的园长,这也体现除了改客户端框架的强大,...原创 2019-01-28 21:39:07 · 440 阅读 · 0 评论 -
画分布式锁之"通文馆圣主"Curator的"十三太保"(下)
上一篇,我们基于示例和源码去剖析了可重入互斥锁,不可重入互斥锁,信号量锁,参见【画分布式锁之"通文馆圣主"Curator的"十三太保"(上) 】,Curator圣主的强大,Zookeeper的健壮性,都让zk分布式锁不可匹敌,本文将继续分析剩余的分布式锁,让我们一起江湖里过招吧。【勇,联合锁 && 加锁 && 释放锁】 联合锁,mu...原创 2019-01-29 23:56:09 · 515 阅读 · 0 评论