百萬併發,API 網關抗住了亞運會流量高峯

1.背景

2023 年杭州亞運會給大家留下了美好的回憶,當時各種線上線下的活動和賽事也將如火如荼地展開,與亞運會相關的應用和服務迎來流量高峯。作爲亞運會所有核心流量的入口,阿里雲 API 網關的重要性不言而喻。爲了確保 API 網關能夠穩定、高效地處理大量的併發請求,阿里雲推出了一款百萬併發規格的 API 網關,爲亞運會提供強大的技術支持。

百萬併發規格的 API 網關,是我們專門針對高併發場景進行優化和升級的產品。它採用了先進的技術架構和算法,能夠有效地處理大量的併發請求,保證 API 網關的穩定性和可靠性。同時,它還支持 API 級別的流控、熱點數據緩存、多種安全機制,包括 API 授權與鑑權、流量控制等,能夠有效地保護亞運相關業務系統的平穩運行。

API 網關將所有經過 API 網關的調用日誌同步到用戶自己的 SLS 日誌服務中去,通過 SLS 日誌服務可以進行實時日誌查詢、下載、多維度統計分析等,並且可以配置基於日誌的報警策略;API 會自動將調用日誌同步給阿里云云監控產品,用戶可以在雲監控產品上直接配置報警規則,監控報警的指標包括:Http 應答碼,API 響應時間,請求次數,流入流量,流出流量。用戶可以配置將調用日誌上傳到阿里雲鏈路追蹤平臺,分析全鏈路調用情況。鏈路追蹤 Tracing Analysis 提供了完整的調用鏈路還原、調用請求量統計、鏈路拓撲、應用依賴分析等工具,可以幫助用戶提高開發診斷效率。

2.突破 100 萬 RPS 具備彈性能力的實例集羣

API 網關現在支持使用專享實例組建專享實例集羣,突破最大規格專享實例的併發限制。API 網關當前可以提供的專享實例能夠支持的最大能力有限,當最大規格的專享實例爲 6 萬 RPS 的實例,在一些大型場景下還無法滿足用戶的使用需要,API 網關在近期爲用戶提供了專享實例集羣產品能力,專享實例集羣能夠根據用戶對服務性能的需求進行縮容和擴容,突破網關可以支持的最大規格上限,在亞運會項目中爲客戶提供了突破了 100 萬 RPS 的服務能力,滿足用戶更高併發的業務場景。API 網關提供的實例集羣,具有靈活伸縮的能力,可以實時擴容和縮容,理論上只要底層資源足夠,API 網關的實例集羣具備無限擴容的能力。

3.性能優秀

阿里雲的 API 網關除了可以爲用戶提供無限擴容的專享實例外,本身性能優秀,耗時極低,在性能上和容量上徹底打消後顧之憂。

性能是所有 API 網關的一個非常核心的一個指標,所有業務請求都需要過 API 網關,API 網關的性能會是整個系統性能指標的的非常關鍵的一環。阿里雲 API 網關商業化後在公有云對公衆用戶提供服務七年有餘,在性能上做個多次大幅度的優化,可以給大家分享一個 2023 年統計的一個專享實例的關鍵性能指標:98.17% 的請求在 API 網關耗時在 1 毫秒以內,API 網關平均耗時在 1ms 以內。

4.流量控制

流控是 API 網關最基礎的能力,無論用戶的業務 API 還是 AI 的 API 都需要有流控的保護。阿里雲 API 網關允許用戶根據後端系統最大承受能力設置流量閾值,當客戶端請求總量超過閾值時,網關把多出的請求直接駁回,保證後端服務不會遇到過載請求的情況。API 網關允許用戶通過多個維度對請求進行流控,可以對 API,App(訪問憑證),用戶(訪問方的 App 歸屬用戶)三個維度進行秒、分鐘、小時、天等時間維度進行流控,API 網關同時提供針對請求中自定義參數這個維度的限流,請求的任意一個參數都可以成爲流控的錨定值,比如用戶可以指定請求中的 IP 頭作爲流控錨定值,那麼可以通過 API 網關的流控能力輕鬆控制每個 IP 的請求 RPS。

5.授權與鑑權

不同的 AI 能力提供者對用戶派發了不同的訪問憑證,調用不同的 AI 提供者的 API 的鑑權方式各有不同。用戶可以將這些複雜度統統在阿里雲的 API 網關配置上,對其調用者提供統一的鑑權方式。用戶可以通過 API 網關爲不同的用戶生成不同的訪問憑證,並且爲這些訪問憑證設置有效期,也可以在 API 網關控制檯隨時刪除指定的訪問憑證。

阿里雲 API 網關除了爲用戶提供訪問憑證類型的鑑權方式,還提供了標準的 JWT 的鑑權方式,用戶可以通過頒發 Token 的方式對調用者進行動態鑑權,並且可以通過管理 API 網關的插件數據集方式來 Block 已經頒發的 Token。

阿里雲 API 網關還提供了靈活的第三方鑑權的能力,用戶配置自己的鑑權服務爲 API 的訪問進行鑑權,API 網關在調用 API 後端服務之前先調用用戶的鑑權服務,收到鑑權服務的鑑權成功應答後纔會繼續調用後端服務,否則給客戶端返回鑑權失敗的應答。

6.日誌監控與報警

6.1 SLS 日誌同步與監控報警

用戶可以通過配置,將所有經過 API 網關的調用日誌同步到用戶自己的 SLS 日誌服務中去,通過 SLS 日誌服務您可以進行實時日誌查詢、下載、多維度統計分析等,您也可以將日誌投遞到 OSS 或者 MaxCompute 進行遠期備份或深度分析。用戶還可以使用這些日誌作爲日誌審計的數據源,日誌審計是法律剛性需求,是客戶安全合規依賴的基礎,是一些項目的必選項,可以輕鬆通過配置實現。用戶除了可以在日誌中看到調用的基本信息,包括域名、調用者身份、調用耗時,應答狀態碼等基本信息外,還可以配置記錄整個請求和應答,便於排查問題。

6.2 集成雲監控

API 會自動將調用日誌同步給阿里云云監控產品,用戶可以在雲監控產品上直接配置報警規則,監控報警的指標包括:Http 應答碼,API 響應時間,請求次數,流入流量,流出流量。如果需要對該 API 分組下的所有 API 應用相同的報警規則,進入 API 分組詳情頁,點擊詳情頁右上角的開啓雲監控。雲監控報警可設置多級報警,閾值處於不同區間時,對應 Critical 、Warning、Info 三個不同級別,不同級別通過不同渠道發送報警通知。

6.3 全鏈路追蹤平臺

用戶可以配置將調用日誌上傳到阿里雲鏈路追蹤平臺,分析全鏈路調用情況。鏈路追蹤 Tracing Analysis 提供了完整的調用鏈路還原、調用請求量統計、鏈路拓撲、應用依賴分析等工具,可以幫助用戶提高開發診斷效率。

配置好之後,就可以在全鏈路追蹤平臺上看到整個調用鏈每個節點的耗時情況了:

7.對接微服務體系

API 網關除了通過用戶配置的後端業務系統的地址和後端業務系統進行通信外,同時支持從用戶的微服務註冊中心實時動態感知後端業務系統的服務地址,並進行點對點通信。

API 網關能夠集成多種微服務註冊中心,從而與微服務架構深入融合,降低系統的耦合度並提高程序的可管理性。網關可作爲微服務系統的請求入口,負責所有客戶端的接入、請求的路由和轉發、以及保證微服務應用的安全和穩定。

微服務的註冊中心,可以接收微服務業務系統的註冊請求,並將業務系統的服務地址保存在註冊表中。API 網關集成微服務的註冊中心,如下圖所示,網關作爲服務的訂閱者,可以從微服務的註冊中心獲取業務系統的服務地址、端口等信息,並根據地址和端口將請求分發到後端的多個業務系統的服務節點中,從而實現動態路由和負載均衡。

API 網關目前已經能夠支持三種主流的微服務註冊中心

  • Nacos
  • Zookeeper
  • Eureka

8.總結

API 網關是阿里雲的一款在線上平穩運行六年多的成熟雲產品,爲廣大用戶提供標準的高性能網關服務,它爲用戶提供 API 託管服務,覆蓋設計、開發、測試、發佈、售賣、運維監測、安全管控、下線等 API 各個生命週期階段。阿里雲 API 網關爲用戶提供了標準化的百萬級 RPS 規格的專享實例,能夠服務更多規模的業務系統,特別在本次亞運會中抗住了流量高峯,穩定、高效地處理大量的併發請求。

API 網關處理在容量上可以提供超大規格的實例外,在性能上也表現優異,耗時極低,自身平均耗時在 1ms 以內。API 網關除了能夠提供主流的流控、鑑權等基礎能力外,還集成了微服務網關的註冊中心,能夠與各種微服務架構實現融合,能爲更多業務場景提供服務。

原文鏈接

本文爲阿里雲原創內容,未經允許不得轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章