

奇伢云存储C
-
云原生 etcd 系列|Quorum 和唱票那回事
坚持思考,就会很酷 关于 Quorum 的两个维度 前几回说了那么多框架,设计思想的文章。今天分享一个很小的点,etcd 的 quorum 是怎么实现的? Quorum 机制本质就…
-
Go 眼中的文件系统是什么? io.FS
坚持思考,就会很酷 什么神奇问题 ? Go 在文件 IO 的场景有个神奇的事情。打开一个文件的时候,返回的竟然不是 interface ,而是一个os.File &nbs…
-
存储架构|Bitcask 引擎的设计,秒!
Bitcask 是什么? Bitcask 是一种很有趣的存储模型的设计,这是一种底层格式为日志模样的 kv 存储。Bitcask 起源于 Riak 分布式数据库,Bitcask 论…
-
存储架构|Haystack 太强了!存 2600 亿图片
小文件存储 小文件存储,老生常谈的问题。先聊聊小文件存储重点关注的是什么? 以前我们提过,对于磁盘来说,小 io 吃 iops,大块 io 吃吞吐。 划重点:小文件的重点是 io …
-
VSCode 阅读 Linux 代码怎么才不卡顿?这样做才能快的飞起!
Linux 内核代码用什么编辑器? 分享过怎么学习 Linux 内核代码的思路,当时顺便提了一点,奇伢是用 vscode 看内核代码。有同学对此提出了疑问: vscode 看 Li…
-
Linux 存储系列|请描述一下文件的 io 栈?
请简单描述一下文件的 io 栈? 同事问到你,你能立马就讲个道道出来吗?这个问题可以往深入讲,也可往浅出讲。最主要的还是心里有把尺,要有整体的把握。 我们今天分三个小步走来分享这个…
-
vscode 调试技巧|程序不是写出来的?是调出来的!
常用的调试手段 作为程序猿的我可太清楚调试的重要性了,有一句话说的很对:程序不是写出来的,是调出来的。调试的方法很多,比如朴实的日志打印,打点的计量统计(比如 golang 的 p…
-
Go 最细节篇|pprof 统计的内存总是偏小?
Go 的内存泄漏 内存泄漏通常在 c/c++ 等语言常见,手工管理内存对程序猿的编程能力有较高要求。最常见的就是分配和释放没有配对使用。 Go 是一门带 Gc 的语言,内存分配位置…
-
Linux 块层 IO 子系统|最核心的逻辑是什么?
读者朋友的交流 本系列分享来自读者朋友的分享交流,在之前分享过一些 Linux 文件系统相关的知识,很多童鞋对块层也挺好奇的。后续可能会有几篇关于 Linux 块存储的分享。今天先…
-
Go 适合 IO 密集型?并不准确!
Go 程序适合什么样的场景? 你想过这个问题吗?Go 程序到底是哪种场景最适合。可能你已经听说过答案了:IO 密集型的场景。 什么是 CPU 密集型、IO 密集型? 计算机程序场景…
-
聊聊 SSD 的基本原理
大纲 数字化的存储介质有很多。类似机械磁盘,固态盘,磁带,光盘,等都是不同的介质而已。整个世界都在数字化,而数据就存在这些介质中。 存储介质作为数字化的基石,它们的重要性可想而知,…
-
Go 的 nil 值判断,千方百计,还是踩坑!
今天奇伢给大家分享一个实际踩坑的一个示例,以为的 nil 并不是 nil。众所周知,Go 编程中 nil 值的判断可谓是随处可见: nil 值究竟是什么?这个在之前的文章也分析过(…
-
Go 的 noCopy 是什么机制?
坚持思考,就会很酷 你是否遇到过 assignment copies lock 的错误? 当我们用 go vet 检查静态问题的时候,你是否遇到 noCopy 相关的错误。最典型的…
-
深度剖析 Go 的 nil
前几天有小伙伴问我说,golang 里面很多类型使用 nil 来赋值和做条件判断,总是混淆记不住。你可能见过:: 很多文章和书会教你:Go 语言默认定义的类型赋…