雲端部署架構——請求路徑與韌性

一套雲端部署架構,畫在一張互動畫布上:邊緣層、負載平衡器、會自動擴展的應用層、資料層,以及令一項服務不會倒下的可觀測性。

雲端部署把一部伺服器變成一個有韌性的系統:流量由邊緣層進入,負載平衡器把它分派出去,一個會自動擴展的層負責處理,資料層負責保存,而監控則令整疊架構誠實。

雲端部署架構——請求路徑與韌性

The interactive FlowJam canvas for this explanation — every lane, row and arrow above is a real QueryChart diagram you can open and edit.

How to read this visual

  • 先由上而下讀左邊那一欄:用戶、CDN、負載平衡器、執行個體、快取、資料庫——這就是請求路徑。
  • 然後把右邊那一欄當作韌性的故事來讀:自動擴展、副本、備份與監控,它們令請求路徑一直活著。
  • 可觀測性那一條是感測層——它排在最後,因為它看顧的是它上面的一切。

請求路徑

「用戶經由邊緣層連上這項服務」是旅程的開端,而「CDN 在貼近用戶的地方快取靜態內容」是第一道防線——靜態資源由靠近訪客的邊緣節點供應。「負載平衡器分派流量」是運算層的大門,把每一個請求轉發給一個健康的執行個體。「應用程式執行個體處理請求」與「記憶體內快取加快重複的讀取」是實際運作的核心,而快取令熱門資料不必勞煩資料庫。

資料層

「主資料庫保存真實來源」是唯一一個無法從零重建的組件,而「副本與備份保護這些資料」就是它的復原方案——讀取副本分擔負載,時間點備份與跨區域副本則應付災難。這張圖解把它獨立成一條泳道,因為資料層出事的方式與上面那些無狀態的層並不相同,需要另一套控制措施。

韌性與可觀測性

「應用程式執行個體的自動擴展群組」按流量橫向擴展,而「監控與警報看顧整疊架構」是感測層——覆蓋每一層的指標、日誌與警報,也是自動修復與回滾的觸發點。「這套部署會自行擴展,也會自我修復」是終點狀態:那不是一套固定的架構,而是一套會自我調整的架構。這種自我調整,正是雲端部署與一部伺服器之間全部的分別。

Key relationships and takeaways

  • 韌性是一層一層疊出來的:CDN、負載平衡器、自動擴展、快取、副本、監控——每一層都保護它後面那一層。
  • 資料層出事的方式並不一樣,需要自己一套控制措施:用副本分擔負載,用備份應付復原。
  • 負載平衡器是大門;自動擴展決定的是門有幾多道。
  • 快取是可以丟掉的——失去它會令系統變慢,但不會令它壞掉。
  • 把整個迴圈收口的是監控:一則警報觸發擴展、回滾與復原的決定。

When to use this visual

  • 在一支團隊設計第一個生產環境之前,先講解一套雲端部署的結構。
  • 為韌性缺口覆核一套架構——一個沒有冗餘的層就是單點故障,而這張畫布會把它暴露出來。
  • 為一場關於雲端成本的討論定下基礎:每一層都是一個關於要為冗餘付多少錢的決定。

運作方式

  1. 把各層改名為你自己的技術棧

    把這些通用的層換成你實際使用的服務——你的 CDN 供應商、你的負載平衡器、你的執行個體規格、你的資料庫引擎——每一層一個方框。

  2. 描出流量的走向

    在請求路徑上標註真實的協議與連接埠,並註明 TLS 在哪裡終結,以及路由決定在哪裡發生。

  3. 加上你的擴展規則

    在自動擴展那個方框上,註明在你的環境裡實際觸發擴展的指標與門檻,讓這張圖反映的是你自己的政策。

  4. 把復原方案寫下來

    由資料庫拉一條分支到備份那個方框,寫出你的 RPO 與 RTO,以及實際的還原或容錯移轉程序,並以一個明確的復原狀態作結。

常見問題

甚麼是雲端部署架構?

它是一項服務在雲端怎樣執行的設計:流量由邊緣層(CDN)進入,負載平衡器把它分派出去,一組會自動擴展的執行個體負責處理,資料層負責保存,而監控則看顧一切。這種架構最關鍵的性質是韌性——沒有任何單一組件的故障可以令服務中斷,因為每一層都有冗餘,而且會自我調整。

資料層為甚麼要與其餘部分分開處理?

因為那些無狀態的層——執行個體、快取——可以即時重建或替換,而資料庫保存的卻是無法重新造出來的真實來源。它需要自己一套控制措施:用副本分擔讀取負載,用時間點備份與跨區域副本應付復原,並要有一套明訂的容錯移轉程序。這張圖解給資料層自己一條泳道,就是因為它的故障模式與控制措施,都跟它上面那些層不同。

「自動擴展」是甚麼意思?它為甚麼重要?

自動擴展是按量度到的需求——通常是 CPU、記憶體或佇列長度——自動增加或移除應用程式執行個體。它之所以重要,是因為它把容量由一個猜測變成一個控制迴圈:系統忙的時候買多些容量,不忙的時候放掉,而一個壞掉的執行個體不需要人手介入就會被替換。這種自我調整,佔了雲端部署之所以有韌性的一大半。

快取與監控在這套架構裡扮演甚麼角色?

快取夾在應用程式與資料庫之間:熱門資料由記憶體供應,所以資料庫只會見到真正需要它的那些請求。監控則是橫跨每一層的感測層——指標、日誌與警報——而觸發其餘那些韌性機制的正是它:錯誤飆升會啟動回滾,負載上升會觸發擴展,壞掉的執行個體會被替換。沒有監控,架構的其餘部分都是在盲目運作。

用 QueryChart(FlowJam)編輯這張圖解

把上面這張雲端部署畫布開啟為你自己的圖表——把各層改名為你自己的技術棧,並描出你的韌性控制措施。

用 QueryChart(FlowJam)編輯這張圖解

互動圖解的更多內容