什么是分布式系统?

发布: (2026年5月5日 GMT+8 05:43)
3 分钟阅读
原文: Dev.to

Source: Dev.to

Introduction

“分布式系统”是当今常用的概念。第一次遇到它时,可能会觉得令人望而生畏,但其核心思想很简单,在构建此类系统时能够带来清晰的思路。

Historical Context

当软件从理论可能性转变为实际可行时,架构非常直接:应用程序在单台计算机上运行,所需的数据库也在同一台机器上,直接在该主机内部进行通信。

随着计算机性能的提升,社会对它们的依赖日益加深——这通常被称为 数字化转型

Availability Challenges

在这种转型过程中,软件需要:

  • 可用——用户想使用时系统能够提供服务。
  • 正确——返回一致的结果。

把所有东西都运行在一台计算机上会带来两大可用性风险:

  1. 整体崩溃——如果这台唯一的机器出现故障,整个系统就会宕机,即使故障与应用或数据库本身无关。
  2. 服务降级——如果机器承受的负载超过其承受能力,它可能会变慢而不是直接崩溃,同样影响可用性。

Moving to Multiple Machines

为避免单点故障,解决方案是将组件分布到多台机器上。如果其中一台机器宕机,只会影响系统的一部分。

当应用运行在 机器 A 上,数据库运行在 机器 B 上时,它们必须通过网络进行通信。这种节点之间的通信就是分布式系统的本质。

Definition

简而言之,分布式系统是一组通过网络相互通信以实现特定目标的机器(节点)。

Ongoing Challenges

虽然分布式系统支撑了当今的大型平台,但它们也带来了诸如:

  • 节点故障(例如机器 A 在收到机器 B 的响应之前就宕机)。
  • 网络分区和延迟。

这些挑战提醒我们没有灵丹妙药;细致的设计和工程实践至关重要。

0 浏览
Back to Blog

相关文章

阅读更多 »