cwen


Life is magic. Coding is art.

一致性模型笔记

谈到分布式系统,一致性的问题就不得不被提到,可以说是一个老生长谈的话题,这几天在准备一个关于分布式测试相关的分享的时候,涉及到一些一致性和一致性验证相关的问题,但是突然发现自己的脑子里差不多一片空白,之前也有看过相关的论文和一些实践项目,可能是由于没有自己实际去实践导致很多概念都不太清楚,就重新学习了一波,并整理一些相关的笔记(毕竟好记性不如烂笔头,如果笔记中存在错误,还请指出来帮助我改正)帮助更好的理解这些概念。


在容器中让时间自由摇摆

Chaos Mesh 是最近开源的 Kubernetes 混沌测试平台,并且最近支持了 TimeChaos 的新功能,用来模拟 Time skew 的情况,通常情况下,我们知道直接修在容器中修改时间,会影响整个物理节点, 这不是我们想要的,那么 Chaos Mesh 是如何解决这个问题的呢?接下来就让我们一起探索一下 Chaos Mesh 是如何在容器中让时间自由摇摆的!


TC - Linux 流量控制工具

最近一个新任务,需要模拟限制主机带宽的场景,之前只是知道使用 tc 是可以做到模拟网络延迟、网络丢包等情况,所有就想应该 tc 也可以搞定限制带宽的情况,就在网上搜了一波,果不其然 tc 还是强大,可是对于用来限制带宽,操作起来还是很蛋疼,踩了不少坑..


漏桶算法 && 令牌桶算法

在看 TC 文档的时候,文档中提到了 token bucket,TC 中可以使用这个算法来进行流量控制,模糊印象中听过这个算法,但是并不知道这个算法具体是什么,就好奇的去一探究竟…


TiDB 性能优化之玄学调优

TiDB 玄学调优是我们自黑比较狠的梗之一,当初 TiKV 里大把的参数让我头疼了好久 ( TiKV 的配置参数大多数是和 RocksDB 相关 )。好在现在很多参数现在的默认值已经很科学大大的减少了我们玄学调优的难度。 以下是是我平时在测试 TiDB 时候,进行瓶颈定位的过程…


Percolator 论文笔记

TiDB 的事务模型是参考 Google Percolator 事务模型,想去研究 TiDB 的事务模型,学习一下 Google Percolator 论文必不可少…


MVCC In TiKV

很多数据库都会实现多版本控制(MVCC),TiKV 也不例外,刚好最近在看 TiKV,对于 MVCC 以及 TiKV 内是如何使用 MVCC 的做个简单笔记…


Spanner 论文笔记

刚到公司的时候,记得奇哥就推荐了几篇基础论文(尴尬,目前我还没有完全看完),Spanner 论文就是其中之一,同时 TiKV 的设计架构也是受到了 Spanner 的启发,在阅读 Spanner 论文的同时,记录些东西,方便以后回顾复习…


Leader Transfer In TiKV

在 TiKV 中,PD 当发现 TiKV 实例上 region 出现 leader 不均匀的时候,会尝试将 leader 从数量比较多的地方 transfer 到其地方,具体调度指令由 PD 发出,TiKV 接收到 PD 的 transfer leader 指令,调用 raft 操作执行真正操作…


分布式系统里的时间、时钟和事件顺序

以往编写单机程序的时候,如何来判断先后顺序,第一个想到的就是分配一个唯一时间戳,然后根据时间戳的大小来判断事件发生的先后顺序, 但是放在分布式系统就不一定有效…