全部產品
Search
文件中心

Server Load Balancer:使用QUIC協議提升音視頻業務訪問速度

更新時間:Feb 27, 2025

QUIC(Quick UDP Internet Connections)協議能協助您大幅提升用戶端訪問速度,尤其是在弱網路、Wi-Fi和移動網路頻繁切換等情境下,無需重連即可實現多工,提升資源的訪問效率,同時保障資料轉送的安全性。

QUIC協議介紹

QUIC協議又被稱為快速UDP互連網連線協定,提供與SSL相同的安全性,同時具備多工等多種優勢,具有極佳的弱網效能,在丟包和網路延遲嚴重的情況下仍可提供可用的服務。QUIC協議在應用程式層面可以實現不同的擁塞控制演算法,不需要作業系統和核心支援,相比於傳統的TCP協議,擁有了更好的改造靈活性,適合用於在TCP協議最佳化遇到瓶頸的業務。

隨著短視頻、直播等新興業務的飛速發展,流媒體傳輸對於頻寬和延遲提出了雙重要求,QUIC協議可以有效解決網路、視訊卡頓的問題,提升音視頻資源的訪問效率,同時保障資料轉送的安全性。

支援的QUIC協議類型

ALB支援gQUIC和iQUIC。HTTP/3協議是以iQUIC協議為基礎構建的應用程式層協議,它主要依賴iQUIC來實現多工、擁塞控制、損失檢測和重新傳輸等功能。HTTP/3協議可以更快地啟動用戶端串連,消除了多工流中的隊頭阻塞。

應用型負載平衡ALB支援的gQUIC協議版本有Q46、Q43、Q39,支援的HTTP/3協議版本為h3。

如何協商HTTP/3

開啟QUIC升級後,ALB將向用戶端通告HTTP/3和gQUIC協議,優先通告HTTP/3,讓支援HTTP/3的用戶端優先嘗試與ALB建立串連。

  • 用戶端在無法建立HTTP/3串連時始終回退為使用HTTPS或HTTP/2。

  • 支援HTTP/3的用戶端使用與HTTP/3有關的緩衝Cookie。

  • 啟用或停用“QUIC升級”不會影響ALB串連到用戶端的能力。

Alt-Svc HTTP 響應標題中通告支援,alt-svc 標題值:

Alt-Svc : h3=":$quic_port"; ma=3600,quic=":$quic_port"; v="46,43,39"; ma=3600

當“開啟QUIC升級” 時,某些情況會導致您的用戶端回退為使用HTTPS或HTTP/2而不是協商 HTTP/3。其中包括:

  • 用戶端支援的HTTP/3版本與ALB支援的HTTP/3版本不相容。

  • ALB檢測到UDP流量阻塞或速率受限以致HTTP/3無法工作。

  • 用戶端完全不支援HTTP/3,因此不嘗試協商HTTP/3串連。

用戶端要求

  • 如果您使用Chrome瀏覽器,支援直接對ALB發起QUIC協議請求。

  • 使用Chrome瀏覽器訪問QUIC,需要使用指定的Chrome瀏覽器版本:

    • ALB支援的gQUIC協議最高版本是Q46,對應的Chrome瀏覽器版本為Chrome 74-81。

    • ALB支援的HTTP/3協議最高版本是h3,對應的Chrome瀏覽器版本為Chrome 87及以上。

  • 如果您使用其他用戶端例如自研APP,則用戶端必須整合支援QUIC協議的網路程式庫,例如:lsquic-client、cronet網路程式庫、ngtcp2和quiche等。

情境樣本

使用Chrome瀏覽器訪問ALB執行個體時,ALB會根據配置的監聽所綁定的認證網域名稱example.com訪問後端伺服器。主要有以下兩種應用情境:

  • 當同時配置了HTTPS監聽和QUIC監聽時,系統會優先使用QUIC監聽,此時在Chrome瀏覽器中輸入認證綁定的網域名稱example.comALB執行個體將通過配置的QUIC監聽將用戶端的請求轉寄至預設後端伺服器組RS1。

  • 當QUIC監聽不可用時,系統會自動切換到關聯的HTTPS監聽,此時在Chrome瀏覽器中輸入認證綁定的網域名稱example.comALB執行個體將會通過配置的HTTPS監聽將用戶端的請求轉寄至預設後端伺服器組RS1。

前提條件

  • 已建立ALB執行個體。具體操作,請參見建立和管理ALB執行個體

  • 已建立伺服器組RS1。具體操作,請參見建立和管理伺服器組

  • 已在伺服器組RS1中添加ECS01執行個體,並在ECS01執行個體中部署了Nginx的視頻服務。

  • 您已經在ALB執行個體上部署了SSL伺服器憑證,該認證已綁定了網域名稱example.com

步驟一:建立QUIC監聽

  1. 登入應用型負載平衡ALB控制台

  2. 在頂部功能表列,選擇ALB執行個體所屬的地區。

  3. 執行個體頁面,找到目標執行個體,單擊目標執行個體ID。在監聽頁簽,單擊建立監聽

  4. 配置監聽設定精靈,完成以下配置,然後單擊下一步

    此處僅列出和本文強相關的配置項,其餘參數可保持預設值或根據實際情況修改。更多資訊,請參見添加QUIC監聽

    監聽配置

    說明

    選擇監聽協議

    選擇監聽的協議類型。

    本樣本選擇QUIC

    監聽連接埠

    輸入用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠。

    連接埠範圍為1~65535。

    說明

    同一個ALB執行個體內,相同協議的監聽連接埠不能重複,且HTTP和HTTPS監聽連接埠互不重複。

  5. 配置SSL認證設定精靈,選擇伺服器憑證,然後單擊下一步

  6. 選擇伺服器組設定精靈,選擇伺服器類型,然後選擇伺服器組並查看後端伺服器資訊,單擊下一步

  7. 組態稽核設定精靈,確認配置資訊,單擊提交

步驟二:建立HTTPS監聽

建立HTTPS監聽時,請開啟QUIC升級,並關聯已建立的QUIC監聽。

  1. 執行個體頁面,找到在步驟一中建立了QUIC監聽的執行個體,單擊該執行個體ID。

  2. 執行個體詳情頁簽,單擊監聽頁簽,單擊建立監聽

  3. 配置監聽設定精靈,完成以下配置,然後單擊下一步

    此處僅列出和本文強相關的配置項,其餘參數可保持預設值或根據實際情況修改。更多資訊,請參見添加HTTPS監聽

    監聽配置

    說明

    選擇監聽協議

    選擇監聽的協議類型。

    本樣本選擇HTTPS

    監聽連接埠

    輸入用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠,通常HTTP協議使用80連接埠,HTTPS協議使用443連接埠。

    連接埠範圍為1~65535。

    本樣本輸入443

    說明

    在同一個Server Load Balancer執行個體內,監聽連接埠不可重複。

    高級配置

    單擊修改展開進階配置。

    開啟QUIC升級

    選擇是否開啟QUIC升級。

    本樣本開啟QUIC升級,並在關聯的QUIC監聽下拉式清單中選擇已建立的QUIC監聽。

  4. 配置SSL認證設定精靈,選擇伺服器憑證,然後單擊下一步

    說明

    如果您要設定TLS安全性原則,單擊進階配置後的修改

  5. 選擇伺服器組設定精靈,選擇伺服器類型,然後選擇伺服器組,查看後端伺服器資訊,然後單擊下一步

  6. 組態稽核頁面,確認配置資訊,單擊提交

步驟三:佈建網域名解析

example.com通過CNAME網域名稱解析的方式解析到ALB執行個體的公網服務網域名稱上。

  1. 登入應用型負載平衡控制台

  2. 在頂部功能表列選擇地區。

  3. 選擇要進行網域名稱解析的ALB執行個體,複製其對應的DNS名稱。

  4. 執行以下步驟添加CNAME解析記錄。

    說明

    對於非阿里雲註冊網域名稱,需先將網域名稱添加到雲解析控制台,才可以進行網域名稱解析設定。具體操作,請參見網域名稱管理。如果您是阿里雲註冊的網域名稱,請直接執行以下步驟。

    1. 登入網域名稱解析控制台

    2. 權威網域名稱解析頁面,找到目標網域名稱,在操作列單擊解析設定

    3. 解析設定頁面,單擊添加記錄

    4. 添加記錄面板,配置以下資訊完成CNAME解析配置,然後單擊確定

      配置

      說明

      記錄類型

      在下拉式清單中選擇CNAME

      主機記錄

      您的網域名稱的首碼。

      解析請求來源

      選擇預設。

      記錄值

      輸入欄位名對應的CNAME地址,即您複製的ALB執行個體的DNS名稱。

      TTL

      全稱Time To Live,表示DNS記錄在DNS伺服器上的緩衝時間,本文使用預設值。

      說明
      • 新增CNAME記錄即時生效,修改CNAME記錄取決於本地DNS緩衝的解析記錄的TTL到期時間,預設為10分鐘。

      • 添加時如遇添加衝突,請換一個解析網域名稱。更多資訊請參見解析記錄衝突規則

步驟四:結果驗證

本文以Windows用戶端為例說明。在瀏覽器中輸入example.com可訪問到ALB執行個體,本文在伺服器組RS1對應的後端伺服器ECS01上使用Nginx搭建了視頻服務。

  • 當同時配置了HTTPS監聽和QUIC監聽時,在瀏覽器中輸入認證綁定的網域名稱example.com,並按F12可以查看當前網頁的協議HTTP/3,耗時93毫秒

    如下圖所示:quic

  • 當QUIC監聽不可用時,在瀏覽器中輸入認證綁定的網域名稱example.com,並按F12可以查看當前網頁的協議HTTP/2,耗時148毫秒

    如下圖所示:https

經測試,ALB使用HTTP/3協議大幅提升了用戶端訪問後端伺服器視頻的速度。