2011-10-13 53 views
1

任何人都可以告訴我當我們切換到生產環境時發生了什麼?蔚藍色的交錯和生產環境的主要區別是什麼,特別適合啓動任務?

之所以問這個, 當我在臨時環境檢驗一切工作正常。 但是,當我在web.config中執行更改以及在後臺運行(啓動任務)的exe文件的配置文件中,然後切換到生產時,它無法正常工作。

例如: 我有郵件設置,其中分期它是像 Mystaging.cloudapp.net 我改變MyLive.cloudapp.net,然後切換,當我收到郵件,是顯示mystaging.cloudapp。淨

基本上,我想知道,在web.config中和Bin目錄發生什麼事?????

+0

您的代碼沒有任何反應。這些是不同虛擬機上不同的部署。如果您在VIP交換中看到錯誤的設置,這是與VIP交換本身完全無關的另一個問題。有關更多詳情,請參閱我的較大答案 – dunnry

+0

是的,完美的,這兩個答案真的很有幫助。 –

回答

4

環境是除1個相同的事:它們具有不同的VIP地址(負載均衡器上暴露於外部的IP地址)。當您進行VIP交換時,負載平衡器會被重新編程以在分段和生產部署之間切換VIP - 就是這樣。任何DNS都沒有改變。

還有一些細微之處。例如,現有的連接不是(應該)被切斷。所以,如果你有一個長時間運行的開放連接,它將在VIP交換期間繼續。這可能會導致出現a)連接在swap和b之後觸及「較舊」環境的情況),但這在某些情況下也會導致VIP交換操作本身持續一段時間(通常非常快)。

兩個環境的初衷是爲了讓升級部署方便。您將在升級中啓動另一個更新的部署,進行一些測試,然後切換。大多數用戶永遠不會注意到任何事情。但是,您可能不會使用此模式的原因如下:

  1. 如果更改外部端點(例如,在分段中添加端口443),則不能使用此模式。在這種情況下,您必須刪除/新部署 - 記住負載平衡器正在重新編程,因此端點必須匹配。誰知道這種限制可能會在未來消失。
  2. 如果您有很長時間的運行狀態服務。 VIP交換顯然會將整個部署轉移到生產。如果您需要與某個客戶端前端溝通,需要一小時的工作角色,那麼您可能會遇到問題。
  3. 版本控制。想象一下,如果您在與生產相同/相似的數據工作的分期中創建了另一個環境。現在,當您準備開關時,您需要連接您的連接線,以便環境可以「生產就緒」。當你這樣做時,你將有兩個不同的部署開始處理相同的數據。例如,當使用相同的隊列時,這變得非常明顯。分級中的工作角色在前端更改之前開始處理生產消息,以更新消息格式或其他不兼容性。隨着新部署開始處理舊數據和錯誤等問題,您將收到版本控制問題。這不是無法克服的,只是你需要考慮的一個問題。
  4. 如果您有非常大的部署。想象一下,如果你有幾百個實例。在這種情況下很難做一次VIP交換,因爲a)需要很長時間才能在舞臺上旋轉很多東西,b)由於您運行的是兩倍實例,因此花費過高,以及c。)您可能不會能夠做到這一點是因爲您的訂閱配額限制。您的配額必須至少是運行實例的2倍。當您查看數千個實例時,這是不切實際的。然而,對於凡人來說,配額可以幫助你。
4

當您切換的只有一兩件事發生了 - 在其上部署接受傳入的HTTP請求的URL改變。沒有別的 - 沒有重新啓動,沒有配置更改,什麼都沒有。這只是一個請求路由更改。

生產和分期部署是無法區分的(除非你確實努力) - 它們的存在,這樣當你需要升級你不把你的服務了。您可以創建登臺部署,運行基本檢查,然後在登臺和生產之間切換 - 服務正在運行並且始終接受請求。這是暫存部署的唯一真正目的。他們不是爲了測試,而是爲了無縫更新您的服務。

+0

+1,說得好,但無縫有點強;因爲通常有一些DNS魔術不會發生,所有我以前的訪問者都必須等待一個小時才能重新開始工作。 :ö – Gleno

+0

嘿,看來你的回答是真實的,我也假設。 –

+0

但是,我只是發現我的配置設置已更改,所以讓我測試一個小答案b4標記此答案。 –

相關問題