日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

AHAS為網格化應用提供控制全局流量的能力,例如Istio、Envoy服務網格。本文介紹如何在AHAS中接入Istio服務網格(包括阿里云服務網格ASM)、Envoy集群并為其配置流控規則。

前提條件

已開通AHAS專業版,若沒有開通,請進入開通頁面

背景信息

阿里云服務網格ASM(Alibaba Cloud Service Mesh)提供了一個全托管式的服務網格平臺,兼容于社區Istio開源服務網格,用于簡化服務的治理。更多信息,請參見什么是服務網格ASM?。AHAS Mesh防護基于Envoy Global Rate Limiting Service(RLS)接口實現,防護原理如下圖所示。

Mesh防護原理圖.png
說明 Service Mesh與AHAS Token Server的通信會帶來一定的網絡開銷,響應時間可能會略有上升(同個Region一般會在2 ms~5 ms左右)。

操作步驟

  1. 登錄AHAS控制臺,在左側導航欄選擇流量防護 > Mesh防護
  2. 單擊頁面右上角的申請Mesh流控集群
  3. 防護詳情頁面,填寫集群名稱等信息。
    參數描述
    集群名稱填寫集群的名稱。集群名稱應包含1~63個字符。
    Envoy流控domain流控服務的域,需要與步驟5中要配置的EnvoyFilter里面的domain相對應。
    集群預計QPS該集群內需要流控的接口預估的最大QPS,代表可能到來的最大流量,而非限流閾值,用于為Token Server自動分配提供參考。
  4. 單擊下一步,集群申請成功。
  5. 單擊Mesh流控接入,可選擇接入Istio或Envoy。
    • 接入Istio

      AHAS為Istio服務網格提供集群流控的能力。要為Istio集群接入AHAS Mesh流控,需要為Istio創建對應的EnvoyFilter CRD配置。

      1. 單擊Istio接入頁簽。
      2. 復制代碼,將其粘貼至新建的YAML文件中。
      3. 在Istio集群中,通過執行kubectl apply命令使其生效,完成接入。
      說明 目前Istio流控基于Envoy global rate limiting實現,支持根據來源集群、目標集群、Header值等請求屬性進行流控,詳情請參見Envoy相關文檔
    • 接入Envoy

      AHAS為Envoy HTTP流量提供集群流控的能力。Envoy接入需要按下面步驟編輯Envoy配置文件。

      1. 單擊Envoy接入頁簽。
      2. 復制頁面中第一步的示例代碼,為需要進行流控的路由(route)所在的VirtualHost配置流控項(rate_limits),流控項由一系列的流控參數rate_limit_action構成。
        說明
        • action里面的generic_key需要配置成AHAS集群流控的license,否則流控將不會生效。該項將不會作為流控的判斷屬性。當前集群流控的license會在頁面的代碼中顯示。
        • Envoy目前支持根據來源集群、目標集群、通用標識(generic_key)、Header值等請求屬性進行流控,詳情請參考Envoy相關文檔
      3. 復制頁面中第二步的示例代碼,在Clusters中添加AHAS Mesh流控Cluster,配置對應的RLS token server IP和端口。
      4. 復制頁面中第三步的示例代碼,在http_filters中添加envoy.rate_limit配置,指定上一步配置的AHAS Mesh流控Cluster。
      5. 配置文件修改完成后,重啟Envoy或通過xDS動態reload配置文件,完成接入。
  6. 集群規則配置區域,單擊添加,進入規則配置對話框,為目標集群添加規則。
    參數描述
    規則名稱用于標識該規則,不超過64個字符,規則名稱不能重復。
    閾值集群閾值,滿足流控條件的請求量到達該閾值后會被拒絕。
    統計窗口時長集群流控統計的時間窗口長度,取值范圍為1秒~24小時。
    匹配規則流控針對的請求屬性的匹配規則,如針對不同來源的請求分別限制不同的規則。目前支持以下匹配規則(與Envoy descriptor保持一致):
    • 來源集群:source_cluster。
    • 目標集群:destination_cluster。
    • 通用標識:generic_key。
    • 自定義:自定義Key,名稱不可重復。
  7. 單擊確定,完成規則創建。
    執行結果:

    觸發Mesh中的服務調用,觀察服務的返回值來判斷流控是否生效。返回429 Too Many Requests狀態碼即表示流控成功。