什麼是負載平衡器(Load balancer)

把來自使用者的要求分配給多台伺服器以分散負載的裝置或軟體。會定期確認各伺服器的狀態(健康檢查),把故障的伺服器排除在分配對象之外,因此也具備備援的作用。負載平衡器本身若不做備援,也會成為單一故障點。

日文名稱: ロードバランサ

「負載平衡器(Load balancer)」出現在3領域的3道練習題中(Web技術基礎, 系統架構與可靠度設計, 雲端與容器基礎等)。

這個名詞所屬的領域: 系統架構與可靠度設計

練習負載平衡器(Load balancer)的題目

在負載平衡器後方放置3台應用程式伺服器,依序把請求分配給各伺服器(循環配置)。已登入使用者的工作階段資訊,只保存在處理登入之伺服器的記憶體中。容易發生的問題與對策的組合,下列何者適當?

  1. A被分配到其他伺服器時找不到工作階段,看起來像是登入中斷了。把工作階段放在所有伺服器都能使用的共用位置
  2. B3台伺服器各自發出相同的工作階段ID而發生衝突。把工作階段ID改成簡短的連號,讓使用者容易記住ID
  3. C負載平衡器無法讀取Cookie,因此無法使用HTTPS。讓負載平衡器與伺服器之間的通訊不加密
查看答案與解析

正確答案:A. 被分配到其他伺服器時找不到工作階段,看起來像是登入中斷了。把工作階段放在所有伺服器都能使用的共用位置

工作階段資訊只存在於1台伺服器的記憶體時,下一個請求被分配到別台伺服器,那台伺服器就無法辨識使用者。對策之一是把工作階段放在任何伺服器都能讀寫的共用儲存區(記憶體內資料儲存區或資料庫)。另一個是把同一使用者的請求持續分配給同一台伺服器的工作階段保持(黏性工作階段),但該伺服器停止時工作階段就會遺失,負載也容易不均。讓伺服器不保有狀態,就容易增減伺服器的台數。

某系統以2台負載平衡器做備援,其下配置3台 Web 伺服器,所有 Web 伺服器都使用1台資料庫伺服器。在此列出的設備中,屬於單一故障點(該處停止就會使整個系統停止的地方)的是下列何者?

  1. A負載平衡器
  2. BWeb 伺服器
  3. C資料庫伺服器
查看答案與解析

正確答案:C. 資料庫伺服器

單一故障點(SPOF)是只要該處一個地方停止,整個系統就會停止的地方。負載平衡器以2台做備援,Web 伺服器有3台,而且負載平衡器能把故障的伺服器排除在分配對象之外,因此任何1台停止都能繼續處理。資料庫伺服器只有1台,且所有 Web 伺服器都會使用,一旦停止整個系統就會停止。若資料庫伺服器也以叢集架構等方式做備援,就能消除這個單一故障點。

解析中的「負載平衡器(Load balancer)」

出現「負載平衡器(Load balancer)」的題目(3題)

  1. 在負載平衡器後方放置3台應用程式伺服器,依序把請求分配給各伺服器(循環配置)。已登入使用者的工作階段資訊,只保存在處理登入之伺服器的記憶體中。容易發生的問題與對策的組合,下列何者適當?
  2. 某系統以2台負載平衡器做備援,其下配置3台 Web 伺服器,所有 Web 伺服器都使用1台資料庫伺服器。在此列出的設備中,屬於單一故障點(該處停止就會使整個系統停止的地方)的是下列何者?
  3. 準備2套與正式環境組成相同的環境,一套維持執行目前的版本,另一套放入新版本並確認後,一次切換負載平衡器的導向目標。若有問題,就把導向目標切回,立即回到原本的版本。這種發布方法是下列何者?

相關名詞

單一故障點(SPOF) 藍綠部署 金絲雀部署 水平擴展(Scale-out) 失效安全(Fail-safe) 失效弱化(Fail-soft) 防呆(Fool-proof) 容錯(Fault tolerance) 差異備份 磁碟陣列(RAID)

前往名詞解釋列表