/* Page prose (zh-Hans) */
"DistributedOverview" = "# 额外学分：分布式 actor\n\n回到我们那个有排队窗口的银行，`actor` 让每个柜员都能安全、串行地访问同一个共享余额，只要他们都在*同一家分行*（同一个进程）里工作。但银行有很多分行。想象一下余额存放在一台服务器上，而 iPhone、iPad 以及其他服务器上的柜员都需要读取并更新它。这些工作者现在处于**不同机器上的不同进程**中，然而你会很希望保持完全相同的心智模型：对拥有状态的对象 `await` 一个方法，让它来串行化访问。这正是**分布式 actor** 的用武之地。这最后一章是对这个想法的导览，而不是一次实验。\n\n> **这是一个只供阅读的章节，无法在 Swift Playground 中运行。**  \n> 这本书里的其他所有内容你都可以运行和把玩。分布式 actor 不一样：它们需要 `import Distributed` *以及*一个在线的 **actor 系统**（一个在机器之间传递消息的网络运行时）。这种传输在 Swift Playground 应用中并非开箱即用，所以接下来的分布式代码片段是**示意性的**：它们展示 API 的*形态*，而不是你可以在这里粘贴并运行的代码。唯一一处你*确实*可以运行东西的地方，是那个纯本地 `actor` 的回顾，它清楚地标注了**可运行**。读这一章是为了理解概念；当你想真正动手试试时，就在 Mac 上使用一个完整的 Swift 包。\n\n---\n\n## 你将学到\n\n* **分布式 actor** 如何把本地 `actor` 模型扩展到跨进程、跨机器，同时保持用 `await` 调用的相同感觉。\n* 让它运作的四个部分：`distributed actor`、它的 `distributed` 方法、**`ActorSystem`**（传输层），以及 actor 的 **`ID`**。\n* 为什么对分布式方法的调用既是 `async` **又是** `throws`，以及这和本地 actor 有何不同。\n* 为什么参数和返回值必须是 **`Codable`**，以及这如何呼应 [全局 actor 与 Sendable](Global%20Actors%20and%20Sendable.playgroundchapter/Overview) 一章中的 `Sendable`。\n* **位置透明**给你带来什么，以及随之而来的实实在在的代价。\n* 这一切对于一个应用开发者来说何时才真正重要（剧透：很少，而这没关系）。\n\n准备好之后，翻到下一页，快速回顾一下你已经熟悉的本地 actor，也就是其他一切赖以建立的基础。\n\n第 1 / 9 页  |  [下一页: 本地 actor 回顾](@next)";
