大促場景下,如何做好閘道器高可用防護

語言: CN / TW / HK

618 大促正在如火如荼進行中。《618大促來襲,淺談如何做好大促備戰》一文介紹了全方位保障大促高可用的方法論和技術手段,本文繼續圍繞閘道器,深入探討大促場景下,如何做好閘道器高可用防護,將從以下幾點逐一展開介紹:

  1. 閘道器做高可用防護的重要性

  2. MSE 雲原生閘道器的“下一代閘道器架構”,在高可用防護上的巨大優勢

  3. 使用 MSE 雲原生閘道器的高可用防護實戰(影片演示)

閘道器做高可用防護的重要性

大促場景下,使用閘道器做高可用防護為什麼重要?一言以蔽之,閘道器具備將大促的各種不確定性因素轉化為確定性因素的能力,並且這種能力是不可替代的。分別從三個方面來看:

第一點是應對流量峰值的不確定性,必須通過限流規則將不確定的流量變為確定。業務服務模組自己做限流很難實現這一點。因為實現限流防護有個前提,承載這突發流量的服務仍能保持正常的 CPU 負載。業務服務模組即使實現了應用層的 QPS 限流,在瞬時高併發場景下,仍可能因為網路層大量的新建連線導致 CPU 猛漲,限流規則也就形同虛設了。業務模組應該專注在應用層業務邏輯上,若要通過擴容去應對其不擅長的網路層開銷,所需的資源成本是相當高的。而閘道器作為業務流量入口的地位,決定了其必須擅長應對高併發的網路流量,並且這塊效能也是衡量閘道器能力的一個重要指標,應對高併發的效能越強,所需的資源成本就越低,將大促流量從不確定變為確定的能力就越強。

第二點是應對使用者行為的不確定性,需要根據不同的大促場景,模擬使用者行為進行多輪壓測演練,提前發現系統的瓶頸和優化點。閘道器既是使用者訪問的流量入口,也是後端業務應答的最終出口。這決定了閘道器是模擬使用者行為進行流量壓測的必經一站,也決定了是觀測壓測指標評估使用者體驗的必須環節。在閘道器上邊壓測,邊觀察,邊調整限流配置,對大促高可用體系的建設,可以起到事半功倍的效果。

第三點是應對安全攻擊的不確定性。大促期間也通常是黑灰產活躍的時間,異常的刷單流量很可能觸發限流規則,從而影響正常使用者的訪問。基於閘道器的流量安全防護能力,例如 WAF 等功能,通過識別出異常流量提前攔截,以及將異常 IP、cookie 自動加入黑名單等手段,既可以使這部分流量排除在限流閾值之外,也可以保障後端業務邏輯安全。這也是大促高可用防護必不可少的一環。

MSE 雲原生閘道器的優勢

架構優勢

MSE 雲原生閘道器實現了流量閘道器、微服務閘道器、安全閘道器三合一的“下一代閘道器架構”,和常見的多層閘道器架構對比如下所示:

  • 常見多層閘道器架構

1.jpeg

在這個架構中,用 WAF 閘道器實現安全能力,SLB 實現負載均衡能力,Ingress 閘道器實現叢集入口閘道器能力(非 K8s 場景也會部署一層 Nginx),Zuul 實現微服務閘道器能力。面對大促的突發流量,這樣的架構下,需要對每一層閘道器都進行容量評估,每一層閘道器都是潛在的瓶頸點,都可能需要進行擴容。這樣造成的資源成本和運維人力成本都是巨大的。並且每多一層閘道器,就多一層可用性風險。

  • MSE 雲原生閘道器架構

2.jpeg

使用 MSE 雲原生閘道器,在保留 SLB 作負載均衡的基礎上,只通過一層閘道器就實現了叢集入口閘道器、WAF 閘道器、微服務閘道器的全部能力。應對大促場景,運維人員只需專注在 MSE 閘道器這一層上,就能做好所有入口流量的管理,實現高可用防護。這就是“下一代閘道器架構”,讓一切迴歸簡單,唯有簡單方可依賴。

效能優勢

如下圖所示,MSE 雲原生閘道器的吞吐效能是 Nginx Ingress Controller 的一倍,具體的效能對比分析可以參考《K8s 閘道器選型初判:Nginx 還是 Envoy?》一文。在大促的洪峰流量面前,閘道器的效能如果不夠好,意味著企業要支付更多的 ECS 資源成本,同時還要為閘道器本身能否扛住流量操心,一旦“門神”失守,對業務造成的損失是不可估量的。

3.png

閘道器規格:16 核 32 G * 4 節點

ECS 型號:ecs.c7.8xlarge

高可用能力方面,MSE 雲原生閘道器內建了 Alibaba Sentinel 高可用模組,歷經多年雙十一流量考驗,提供了豐富的限流防護能力,包括流控規則、併發規則、熔斷規則,可以全面保障後端業務高可用;此外,MSE 雲原生閘道器還具備流量預熱能力,通過小流量預熱方法,可以有效解決大促場景下,資源初始化慢所導致的大量請求響應慢、請求阻塞問題,避免剛擴容的節點無法提供正常服務,影響使用者體驗。

4.png

壓測便捷性方面,使用阿里雲 PTS 的 MSE 閘道器壓測場景,可以輕鬆發起對指定閘道器例項的壓測。結合 MSE 雲原生閘道器的限流和可觀測能力使用,可以邊壓測,邊觀察,邊調整限流配置,實現一站式的高可用防護體系建設。

5.png

安全能力方面,MSE 雲原生閘道器除了集成了 WAF 的功能外,還在外掛市場中提供了多種認證和安全防護外掛。使用者還可以使用多種語言(Golang/JS/Rust/C++等)編寫自己的 Wasm 外掛,實現自己業務場景下特殊的流量認證和防護邏輯,將異常流量在匹配限流規則之前就提前攔截,避免對正常流量訪問產生影響。

6.png

MSE 雲原生閘道器高可用防護實戰

點選觀看直播回放:

http://yqh.aliyun.com/live/detail/28697