Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tw] Add content/zh-tw/distributed-system #2487

Merged
merged 1 commit into from
Oct 12, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions content/zh-tw/distributed-system.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: 分散式系統
status: Completed
category: 概念
tags: ["架構", "", ""]
---

## 是什麼 {#what-it-is}

分散式系統是透過網路連接的自主運算單元的集合,從使用者角度來看是一個單一的一致性系統。
這些一般被稱為[節點](/zh-tw/nodes/)的元件可以是硬體設備(例如計算機、行動電話)或是軟體行程。
節點經由程式設計以達到一個共同目標,為了協作,它們透過網路交換訊息。

## 解決的問題 {#problem-it-addresses}

現今大多數的現代化應用程式都非常龐大,需要以超級計算機去運行。像是 Gmail 或是 Netflix。
沒有一台計算機足夠強大到可以承載整個應用程式。
藉由連接多台計算機,運算能力可以變得接近無限大。
如果沒有分散式運算,許多我們目前依賴的應用程式將無法運作。

傳統上,系統可以垂直[擴展](/zh-tw/scalability/)。也就是在單一機器上增加更多 CPU 或記憶體。
垂直擴展相當耗時、需要停機,而且很快就會達到極限。

## 如何幫助我們 {#how-it-helps}

分散式系統允許[水平擴展](/zh-tw/horizontal-scaling/)(例如在需要時對系統增加更多節點)。
這樣可以自動化並允許系統處理突然增加的工作負載或資源消耗。

非分散式系統將自身曝露在故障的風險中,因為如果一台機器故障,整個系統就會故障。
分散式系統可以被設計成,即使一些機器發生故障,整個系統仍然可以保持運作並產生相同結果。