Posts by Tag

TLA+

学习TLA+(二)

less than 1 minute read

第三章,讲述了如何描述一个异步接口。

学习TLA+(一)

1 minute read

最近在读Raft这篇关于分布式系统一致性算法的论文。作者采用了TLA+语言来描述Raft的规范。像英语、汉语这样的自然语言,很难很精确的描述一个系统得行为。大牛Leslie Lamport发明了TLA,通过时序逻辑方程来描述系统。TLA为描述系统提供了数学基础,而TLA+是构建在TLA上的一个完备的描述语言。

Back to Top ↑

distributed systems

学习TLA+(二)

less than 1 minute read

第三章,讲述了如何描述一个异步接口。

学习TLA+(一)

1 minute read

最近在读Raft这篇关于分布式系统一致性算法的论文。作者采用了TLA+语言来描述Raft的规范。像英语、汉语这样的自然语言,很难很精确的描述一个系统得行为。大牛Leslie Lamport发明了TLA,通过时序逻辑方程来描述系统。TLA为描述系统提供了数学基础,而TLA+是构建在TLA上的一个完备的描述语言。

Back to Top ↑

etcd

修复etcd mvcc space exceeded

1 minute read

最近在搭建并使用kubemark来做测试的过程中,碰到了一个etcd报错”etcdserver: mvcc: database space exceeded”问题,本文记录了出现了这种问题后如何对etcd进行恢复。

boltdb介绍

4 minute read

boltdb是一个轻量级的、嵌入式的golang原生key-value DB,在etcd中作为存储后端使用。它使用了b+树、mmap、copy on write等技术,支持读写事物。本文将结合技术原理和内部实现来分析boltdb。

etcd mvcc package中的btree

7 minute read

本文记录对google开源的golang版本的B树的实现的分析。该B树的实现,被用在etcd中,来做内存索引。

Back to Top ↑

rsync

Rsync implementation in go

10 minute read

Recently, I have implemented rsync algorithm in golang. It is an interesting algorithm to remotely sync data. In this post, I’ll make a introduction about ...

Back to Top ↑

btree

etcd mvcc package中的btree

7 minute read

本文记录对google开源的golang版本的B树的实现的分析。该B树的实现,被用在etcd中,来做内存索引。

Back to Top ↑

boltdb

boltdb介绍

4 minute read

boltdb是一个轻量级的、嵌入式的golang原生key-value DB,在etcd中作为存储后端使用。它使用了b+树、mmap、copy on write等技术,支持读写事物。本文将结合技术原理和内部实现来分析boltdb。

Back to Top ↑

storage

SAN,SCSI等介绍

2 minute read

最近在使用ceph的iSCSI driver时,发现一些存储相关的术语让人很困惑,也不清楚背后的技术。这篇文章记录了一些调研结果。

Back to Top ↑

tools

如何使用go tool pprof

less than 1 minute read

pprof是golang内置的性能调优工具,可以分析: 内存使用情况 CPU使用情况 go routine阻塞情况 互斥锁使用情况 等。同时,1.11版本以后,它集成了go-torch的功能,可以将这些profile可视化,让结果更直观。

Back to Top ↑

perf

Back to Top ↑

linux

Back to Top ↑