Leslie Lamport 于 1990 年提出的 经典 Paxos 是分布式共识算法的开山鼻祖, Google Chubby 的作者 Mike Burrows 就曾说过: 「这个世界上只有一种一致性算法, 那就是 Paxos」, 其他所有的一致性算法, 本质上都是对 Paxos 在实现层面的变体、优化或扩展;
因此 Paxos 算法是分布式理论入门的第一块基石, 欲涉足该领域, 就必须将其完全地、彻底地研究清楚;
希尔的博客
兰之猗猗,扬扬其香。不采而佩,于兰何伤?
-
-
美国三军航空器命名体系
1962 年美国订制了一套统一三军的航空器命名规范, 在此全面梳理一下, 方便学习与记忆;
-
kafka broker 受控关机流程
kafka 在协调机制下实现无感切流 & 受控关机是一个复杂的流程, 且在 zookeeper 时代和 KRaft 时代下的处理逻辑迥异;
通过 ZK 和 KRaft 两种机制对该场景处理的差异, 我们也能体会到 KRaft 模式对于 kafka 革命般的意义; -
redis的线程模型
redis 的线程模型从最刚开始的纯单线程, 到引入异步线程处理耗时操作, 再到最终使用多线程处理 IO 读写操作, 完成了线程模型的全面升级重构;
和普通常见的 IO 密集型应用不同, redis 作为一个内存密集型应用, 使用了绝无仅有的 多线程处理 IO、单线程处理核心逻辑 的模式, 值得我们学习了解, 也为我们在日常工作中, 跳出传统思维框架, 紧贴自身业务特征做最合适的技术选型提供了启发与参考; -
mysql json 查询
MySQL 从 5.7.8 版本开始支持原生 JSON 数据类型; 这是一种非常实用的类型, 允许我们免于设计复杂的表关系结构, 从而更加专注于业务本身;
-
hbase 的数据存储结构
之前对列式存储接触的不太多, 我想从 hbase 入手, 学习一下列式数据库的基本原理和存储结构;
-
mysql explain 执行计划
mysql 提供的 explain 执行计划能力是我们做 sql 调优的好帮手, 甚至可以说是我们观察 sql 执行效率的重要理论依据;
学好并用好 mysql explain 可以方便地写出高效率的 sql; -
k8s 资源在 etcd 的存储结构
我们平常用惯了 k8s 提供的 sdk, 却很少了解 k8s 是如何存储我们提交给它的资源配置的;
其实 k8s 充分运用了 etcd 的前缀查询能力, 以前缀对齐匹配的模式存储 / 查询不同类型的 k8s 资源; -
Resource 与 Autowired 的区别
转自大钉钉应用研发平台的处轩同学, 稍加整理与补充, 原文链接: 既生@Resource,何生@Autowired,是Spring官方没事做?
-
javac 架构及注解处理器
javac 对我们来说是一个既熟悉又陌生的东西, 我们每天用着高级的集成工具, 是 javac 在底层默默为我们提供技术支撑;
我们在系统中大量地使用着 lombok 等便利工具, 而这背后也是 javac 使用的注解处理器在为我们分担工作;