无共享架构:驱动现代分布式系统的 40 年历史概念
为 Cassandra 等现代分布式数据库提供支持的 Shared Nothing 架构实际上是在 1986 年提出的。它预测了我们今天认为理所当然的关键功能:水平扩展、容错和通过商品硬件实现的成本效益。
嘿!我想分享一些关于我们许多现代分布式系统所采用的架构的有趣历史。
1. 令人兴奋的部分
大多数开发人员没有意识到,当我们使用 Cassandra 或 DynamoDB 等系统时,我们正在实现 40 多年前的想法。使这些系统成为可能的“无共享”概念是由 Michael Stonebraker 于 1986 年提出的 - 当时大型机占据主导地位,互联网几乎不存在!
2. 历史背景
1986 年,计算领域完全不同:
- 大型机为王(而且价格昂贵)
- 小型计算机刚刚开始流行
- 网络尚处于起步阶段
然而 Stonebraker 对此进行了研究,并基本上预测了我们当前的云架构。太疯狂了,对吧?
3. 什么让它具有革命性?
核心思想简单但功能强大:每个节点都应该有自己的:
- 中央处理器
- 记忆
- 磁盘
- 节点之间没有共享资源(因此称为“无共享”)
节点只能通过网络进行通信——这正是我们现代分布式系统的工作方式!
4. 为什么它仍然具有现实意义
斯通布雷克概述的原则在现代科技中随处可见:
- 水平扩展:只需添加更多节点(听起来很熟悉,Kubernetes 用户?)
- 容错:节点宕机?没问题,系统继续运行
- 成本效益:使用廉价的商品硬件代替昂贵的专用设备
5. 现代实现
今天,我们可以看到这些原则:
- Cassandra、DynamoDB 等数据库
- 基本上每个云原生数据库
- 容器编排
- 微服务架构
6. 有趣的事实
Stonebraker 在 1986 年描述的一些问题实际上就是我们今天在分布式系统中处理的问题。有些事情永远不会改变!