前言
原文
Route traffic to multiple slot
一般而言
所有 network traffic 都會被 route 到 production slot
但你也可以把部份的 traffic route 到其他 slot
如果你想要事先得到用戶對將來的版本的反饋或進行測試
這會是一項很有用的功能
Route production traffic automatically
- Access your app’s resource page in Azure portal
- Select “Deployment slots“
- 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.
- 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
發佈留言