系统与数据库2015erlang.org编辑精选
在存在软件错误的情况下构建可靠的分布式系统(2003 博士论文)
Making reliable distributed systems in the presence of software errors (2003)
进阶 · 约 180 分钟读完前置知识:并发编程、分布式系统基础、容错设计概念
导读
这篇论文探讨在软件错误不可避免的前提下如何构建可靠的分布式系统,核心结合 Erlang/OTP 的进程、监督树和错误隔离等机制来阐述容错设计。作者主张不要试图消除所有错误,而是隔离故障、让进程崩溃并由监督者恢复,从而获得系统级可靠性。
HN 关注点:HN 读者把它视为分布式系统与容错设计的经典必读,讨论焦点是它是否应成为软件工程/计算机科学专业的必修材料。
后来怎么样
系统总结了 Erlang/OTP 的监督树与“let it crash”容错思想,成为 Erlang/Elixir 生态的架构基础,并影响了后续 Actor 模型与自愈式分布式系统实践。
HN 评论精选
这几条评论里:支持 1
支持认为该论文应成为软工/CS 必修,能替代无用课程并提升毕业生质量。
这应该是所有软件工程/计算机科学专业学生的必读材料,但事实上并不是。它会取代学校里现在教给学生的许多无用内容,真正有助于培养值得雇用的毕业生(目前全球范围内一个都没有)。
jdimov9查看英文原文
This should be required reading for all software engineering / computer science majors, but it's not. Would replace so much other useless junk that kids are taught in school these days and would actually help produce grads worth hiring (currently, there are none - globally).
历次讨论
- 2015Hacker News 讨论帖66 分 · 4 评
- 2019Hacker News 讨论帖52 分 · 0 评
- 2025Hacker News 讨论帖98 分 · 21 评
同领域还值得读
I/O 比 CPU 更快——让我们划分资源并消除操作系统抽象
I/O Is Faster Than CPU – Let’s Partition Resources and Eliminate OS Abstractions
指出在现代服务器硬件上 I/O 速度已接近甚至超过 CPU,传统操作系统抽象反而成为瓶颈。
系统与数据库2019 · 817 分 · 277 评进阶 · 约 30 分钟编辑精选使用 io_uring 的高效 I/O
Efficient IO with io_uring
由 Linux 内核开发者 Jens Axboe 撰写,介绍 Linux 新的异步 I/O 接口 io_uring。
系统与数据库2019 · 426 分 · 96 评进阶 · 约 45 分钟编辑精选线程对大多数用途而言是个坏主意(1995)
Threads Are a Bad Idea for Most Purposes (1995)
这篇 1995 年的文章由 John Ousterhout 撰写,讨论为什么线程对大多数用途而言是坏主意,并主张事件驱动编程通常更简单、更高效。
系统与数据库2017 · 423 分 · 382 评进阶 · 约 25 分钟编辑精选学习型索引结构之论证
The Case for Learned Index Structures
提出把索引看作一种"模型":既然 B-tree 等结构本质上是在学习数据的分布,就可以用机器学习模型(如回归模型、神经网络)来近似键到位置的映射,从而替代 B-tree、哈希索引…
系统与数据库2017 · 398 分 · 66 评 · 引用 25进阶 · 约 60 分钟编辑精选FoundationDB:一个分布式、解耦的事务型键值存储
FoundationDB: A distributed, unbundled, transactional key value store
介绍 FoundationDB:一个分布式、解耦设计的事务性键值存储。
系统与数据库2021 · 283 分 · 99 评进阶 · 约 90 分钟编辑精选