2022-03-20 |
Kubernetes、集群联邦和资源分发 |
云原生技术 |
|
2021-11-22 |
《Go 语言设计与实现》纸质书预售了! |
Golang |
|
2021-07-17 |
程序员可能必读书单推荐(一) |
书单推荐 |
|
2021-07-13 |
如何提高缓存系统的内存利用率和可扩展性 · NSDI '21 |
看看论文 |
|
2021-04-17 |
谈谈 Kubernetes 的问题和局限性 |
云原生技术 |
|
2021-04-11 |
为什么 Linux 和 macOS 不需要碎片整理 |
为什么这么设计 |
|
2021-04-10 |
CPU 和 GPU - 异构计算的演进与发展 |
CPU |
|
2021-04-02 |
为什么早期的 Windows 需要整理碎片 |
为什么这么设计 |
|
2021-03-29 |
2020 年总结 · 渐入佳境 |
年终总结 |
|
2021-03-28 |
Serverless 与轻量级虚拟化 Firecracker · NSDI '20 |
看看论文 |
|
2021-03-24 |
你该如何为 Kubernetes 定制特性 |
云原生技术 |
|
2021-03-20 |
集群管理系统 Mesos 的设计原理 · NSDI '11 |
看看论文 |
|
2021-03-10 |
为什么 Kubernetes 要替换 Docker |
为什么这么设计 |
|
2021-02-28 |
内存管理设计精要 |
系统设计精要 |
|
2021-02-03 |
为什么 OLAP 需要列式存储 |
为什么这么设计 |
|
2021-01-31 |
Facebook 集群调度管理系统 · OSDI '20 |
看看论文 |
|
2021-01-31 |
数据中心的电力超售 · OSDI '20 |
看看论文 |
|
2021-01-30 |
数据中心的容错时钟对时 · OSDI '20 |
看看论文 |
|
2021-01-30 |
纳秒级高性能日志系统 · ATC '18 |
看看论文 |
|
2020-11-11 |
为什么 Linux 需要 Swapping |
为什么这么设计 |
|
2020-11-05 |
为什么 HugePages 可以提升数据库性能 |
为什么这么设计 |
|
2020-10-25 |
为什么 NUMA 会影响程序的延迟 |
为什么这么设计 |
|
2020-10-18 |
NVMe 固态硬盘与键值存储 KVell · SOSP '19 |
看看论文 |
|
2020-10-10 |
分布式存储 Ceph 的演进经验 · SOSP '19 |
看看论文 |
|
2020-10-02 |
关系感知路由与全球流量调度 · SOSP '19 |
看看论文 |
|
2020-09-19 |
流量管理与数据中心故障缓解 · OSDI '18 |
看看论文 |
|
2020-09-17 |
微服务架构的分布式容错 · SOSP '19 |
看看论文 |
|
2020-09-08 |
数据布局服务与局部性管理 · OSDI '18 |
看看论文 |
|
2020-08-11 |
操作系统模型与乐高积木 · OSDI '18 |
看看论文 |
|
2020-08-07 |
为什么 CPU 访问硬盘很慢 |
为什么这么设计 |
|
2020-06-11 |
处理器感知线程管理系统 · OSDI '18 |
看看论文 |
|
2020-06-02 |
为什么数据库不应该使用外键 |
为什么这么设计 |
|
2020-05-29 |
为什么 Linux 默认页大小是 4KB |
为什么这么设计 |
|
2020-05-21 |
为什么系统调用会消耗较多资源 |
为什么这么设计 |
|
2020-05-18 |
Go 语言 HTTP 标准库的实现原理 |
Golang |
|
2020-05-14 |
为什么集群需要 Overlay 网络 |
为什么这么设计 |
|
2020-05-06 |
Kubernetes 贡献指南 |
Kubernetes |
|
2020-05-05 |
为什么 IPv6 难以取代 IPv4 |
为什么这么设计 |
|
2020-04-29 |
为什么 MAC 地址不需要全球唯一 |
为什么这么设计 |
|
2020-04-25 |
Go 语言 JSON 的实现原理 |
Golang |
|
2020-04-22 |
为什么 0.1 + 0.2 = 0.3 |
为什么这么设计 |
|
2020-04-21 |
为什么这么设计系列文章 |
为什么这么设计 |
|
2020-04-18 |
Go 语言的代码生成机制 |
Golang |
|
2020-04-15 |
为什么 MySQL 的自增主键不单调也不连续 |
为什么这么设计 |
|
2020-04-09 |
为什么 Linux 需要虚拟内存 |
为什么这么设计 |
|
2020-04-05 |
Go 语言的动态库和插件系统 |
Golang |
|
2020-04-02 |
为什么 0.1 + 0.2 = 0.300000004 |
为什么这么设计 |
|
2020-04-02 |
圣杯与银弹 · 没用的设计模式 |
圣杯与银弹 |
|
2020-04-02 |
Go 语言的栈内存和逃逸分析 |
Golang |
|
2020-04-02 |
Go 语言垃圾收集器的实现原理 |
Golang |
|
2020-04-02 |
为什么 TCP 协议有 TIME_WAIT 状态 |
为什么这么设计 |
|
2020-04-02 |
为什么 TCP 协议有粘包问题 |
为什么这么设计 |
|
2020-04-02 |
如何管理自己的时间资产 |
三言两语 |
|
2020-04-02 |
Go 语言内存分配器的实现原理 |
Golang |
|
2020-04-02 |
为什么 HTTPS 需要 7 次握手以及 9 倍时延 |
为什么这么设计 |
|
2020-04-02 |
为什么流媒体直播的延迟很高 |
为什么这么设计 |
|
2020-04-02 |
Go 语言系统监控的实现原理 |
Golang |
|
2020-04-02 |
为什么 TCP/IP 协议会拆分数据 |
为什么这么设计 |
|
2020-04-02 |
Go 语言网络轮询器的实现原理 |
Golang |
|
2020-04-02 |
为什么比特币可以防篡改 |
为什么这么设计 |
|
2020-04-02 |
调度系统设计精要 |
系统设计精要 |
|
2020-04-02 |
为什么数据库会丢失数据 |
为什么这么设计 |
|
2020-04-02 |
为什么 Go 语言没有泛型 |
为什么这么设计 |
|
2020-04-02 |
Go 语言数组的实现原理 |
Golang |
|
2020-04-02 |
2019 年总结 · 拥抱变化 |
年终总结 |
|
2020-04-02 |
为什么 TCP 协议有性能问题 · Why's THE Design? |
为什么这么设计 |
|
2020-04-02 |
为什么 MongoDB 使用 B 树 · Why's THE Design? |
为什么这么设计 |
|
2020-04-02 |
为什么 Redis 快照使用子进程 · Why's THE Design? |
为什么这么设计 |
|
2020-04-02 |
为什么 MySQL 使用 B+ 树 · Why's THE Design? |
为什么这么设计 |
|
2020-04-02 |
为什么总是需要无意义的 ID · Why's THE Design? |
为什么这么设计 |
|
2020-04-02 |
为什么基础服务不应该高可用 · Why's THE Design? |
为什么这么设计 |
|
2020-04-02 |
技术文章配图指南 |
Sketch |
|
2020-04-02 |
为什么 MD5 不能用于存储密码 · Why's THE Design? |
为什么这么设计 |
|
2020-04-02 |
为什么 DNS 使用 UDP 协议 · Why's THE Design? |
为什么这么设计 |
|
2020-04-02 |
为什么你应该使用 Git 进行版本控制 · Why's THE Design? |
为什么这么设计 |
|
2020-04-01 |
为什么 0.1 + 0.2 = 0.300000004 · Why's THE Design? |
|
|
2020-03-30 |
圣杯与银弹 · 没用的设计模式 |
|
|
2020-03-23 |
Go 语言的栈内存和逃逸分析 |
|
|
2020-03-16 |
Go 语言垃圾收集器的实现原理 |
|
|
2020-03-10 |
为什么 TCP 协议有 TIME_WAIT 状态 · Why's THE Design? |
|
|
2020-03-10 |
Go 语言数组的实现原理 |
|
|
2020-03-05 |
为什么 TCP 协议有粘包问题 · Why's THE Design? |
|
|
2020-03-03 |
如何管理自己的时间资产 |
|
|
2020-02-29 |
Go 语言内存分配器的实现原理 |
|
|
2020-02-26 |
为什么 HTTPS 需要 7 次握手以及 9 倍时延 · Why's THE Design? |
|
|
2020-02-26 |
为什么流媒体直播的延迟很高 · Why's THE Design? |
|
|
2020-02-26 |
Go 语言系统监控的实现原理 |
|
|
2020-02-26 |
为什么 TCP/IP 协议会拆分数据 · Why's THE Design? |
|
|
2020-02-26 |
Go 语言网络轮询器的实现原理 |
|
|
2020-02-26 |
为什么比特币可以防篡改 · Why's THE Design? |
|
|
2020-02-26 |
调度系统设计精要 |
|
|
2020-02-26 |
为什么数据库会丢失数据 · Why's THE Design? |
|
|
2020-02-26 |
为什么 UDP 头只有 8 个字节 · Why's THE Design? |
为什么这么设计 |
|
2020-02-26 |
2019 年总结 · 拥抱变化 |
|
|
2020-02-26 |
为什么 TCP 协议有性能问题 · Why's THE Design? |
|
|
2020-02-26 |
为什么 MongoDB 使用 B 树 · Why's THE Design? |
|
|
2020-02-26 |
为什么 Redis 快照使用子进程 · Why's THE Design? |
|
|
2020-02-26 |
为什么 MySQL 使用 B+ 树 · Why's THE Design? |
|
|
2020-02-26 |
为什么总是需要无意义的 ID · Why's THE Design? |
|
|
2020-02-26 |
为什么基础服务不应该高可用 · Why's THE Design? |
|
|