微服務之負載均衡使用場景
在如見常見微服務系統中,負載均衡組件是一種將流量分配到多個服務的技術,目的是提高系統的性能和可用性。負載均衡有兩種常見的模式:服務端模式和客戶端模式。服務端模式使用獨立的應用程序(如 Nginx)來轉發請求,客戶端模式使用類庫(如 Ribbon、Spring Cloud LoadBalancer)來選擇后端服務。負載均衡還有不同的算法,如輪詢、隨機、最小連接數、區域等。本文將給大家介紹在微服務系統中負載均衡組件常見使用場景,內容大綱如下:
- 故障處理
- 實例健康檢查
- 路由指定
- https 流量卸載
- 跨區域負載均衡
- 用戶粘性
故障處理
當后端服務發生故障時,負載均衡組件能從故障服務中自動重新布線,取消對故障服務的流量分配,實現高可用性并最大限度地減少停機時間。示例圖如下,
圖片
實例健康檢查
負載均衡組件可以主動發起對后端服務運行狀況的定期監控和驗證,確保客服端傳入的流量僅流向運行正常的服務。示例圖如下,
圖片
路由指定
負載均衡組件可以將針對特定平臺(移動、桌面等)的請求流量定向到單獨的后端服務以進行定制響應。示例圖如下,
圖片
https 流量卸載
負載均衡組件可以卸載 https 流量,進行解密,將解密后的 http 流量發送到后端服務,減輕后端服務壓力以及復雜度。示例圖如下,
圖片
跨區域負載均衡
當系統對穩定性要求較高,會需要用到多個可用區也就是異地容災機制時,負載均衡組件可以在多個可用區之間均勻分配流量,達到增強容錯能力和可擴展性的效果。示例圖如下,
不過有一些需要說明的是在跨區域調用中,可能出現 AZ 1 調用 AZ 2,造成調用延遲過高的問題,這個時候負載均衡組件也提供同區域調用的能力來減少這一現象。
圖片
用戶粘性
負載均衡組件可以將用戶請求與定后端服務做綁定達成“用戶粘性”,也就是說這個用戶的請求都會一直被同一個服務處理。用戶粘性的好處是可以確保用戶會話的連續性,示例圖如下,
圖片
本文翻譯自國外論壇 medium,原文地址:https://medium.com/@maheshsaini.sec/load-balancer-realistic-use-cases-distributed-system-design-ccf81343bad0