前言

[Azure 筆記] 前言


原文

Route traffic in App Service


Route traffic to multiple slot

一般而言
所有 network traffic 都會被 route 到 production slot
但你也可以把部份的 traffic route 到其他 slot
如果你想要事先得到用戶對將來的版本的反饋或進行測試
這會是一項很有用的功能

Route production traffic automatically

  1. Access your app’s resource page in Azure portal
  2. Select “Deployment slots
  3. In the Traffic % column of the slot you want to route to, specify a percentage (between 0 and 100) to represent the amount of total traffic you want to route.
  4. Select Save.

在設置好後就會有相應比例的 traffic 隨機被 route 到指定的 slot

在同一個 client session
client 都會被接到同一個slot
你可以在 HTTP header cookie 中的 x-ms-routing-name 看到目前是那個 slot 在處理這個 client 的 slot

例如
如果是 “staging” slot 在處理的話
你就會看到這個 cookie: x-ms-routing-name=staging
如果是 production slot 在處理的話
你就會看到這個 cookie: x-ms-routing-name=self

Route production traffic manually

除了 Azure 幫你分配到不同的 slot 之外
Client 也可以把自己的 request 發到指定的 slot

新建的 slot 在 Traffic % 一欄中會是 0% 並且是灰色的
你需要把為 Traffic % 設置一個數值 (0% 也可以)
該數值顯示為黑色之後
Route production traffic manually 就會被啟用

在該功能啟用後
只要在 URL 的末端加上 query param x-ms-routing-name
就可以指定這個 request 要發到那一個 slot

例如,如果你想指定該 request 被發到名為 staging 的 slot
該 request 的 URL 就會像是這樣

<webappname>.azurewebsites.net/?x-ms-routing-name=staging

 

如果你想該 request 被發到 production slot
該 request 的 URL 就會是這樣
x-ms-routing-name 的值就會是 self

<webappname>.azurewebsites.net/?x-ms-routing-name=self

Reference

https://github.com/MicrosoftDocs/azure-docs/issues/23919

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Trending