2014-09-22 36 views
3

在WebsiteAzure中,我們有一個分段功能。因此,我們可以部署到一個臨時站點,進行測試,填充所有緩存,然後切換生產階段。在自定義服務器上模擬Azure分段

現在我怎麼能做到這一點與IIS正常的WindowsServer?

可能的解決方案 一個stragey我在想是有一個腳本副本內容從一個文件夾到另一個。 但是可以有文件鎖定。此外,由於這不是事務性的,所以在網站中有一段時間是無效的狀態。

第一個問題: 我有一個外部負載均衡器,但它是外部託管的,不幸的是目前無法處理這種情況。

第二個問題正如我希望我的腳本始終部署到分段我想在IIS中爲我在buildserver腳本中使用的分段站點有一個修復名稱。所以我也必須重新命名這些網站。

第三個問題站點在多個服務器之間同步以實現負載平衡。現在,當我重建站點上的綁定(以使其具有一致的登臺服務器)時,我可能會遇到一些計時問題,因爲並非所有服務器都設置爲同一文件夾。

有沒有對如何做到這一點的任何擴展/最佳做法?

回答

1

您有多個服務器,所以你運行的是分佈式系統。原則上不可能有最新版本的原子版本。即使您使負載平衡器原子性地將流量導向新網站,某些舊請求仍在運行。您需要能夠在少量時間內同時運行兩種代碼版本。此功能是您的應用程序的一項要求。能夠回滾不好的版本也很方便。

鑑於需求可以實現這樣的:

  1. 在IIS中創建一個臨時站點。
  2. 熱身。
  3. 交換所有服務器上的綁定和站點名稱。這並不需要是原子的,因爲正如我所解釋的,它是不可能的使它成爲原子。
+0

你能否解釋一下更詳細的如何「交換」綁定?我唯一知道的就是一個接一個地刪除一個,然後在用戶使用該站點時設置另一個可能在無效綁定中結束的另一個。另外添加和刪除綁定可能觸發appool回收不是嗎? – 2014-09-22 18:51:05

1

如通過Skype解釋的,你可能想看看「反向代理的iis」。下面這篇文章實際上看起來非常有前途

http://weblogs.asp.net/owscott/creating-a-reverse-proxy-with-url-rewrite-for-iis

這種方式,你可能會建立一個面向公衆的「前端」的網站,可以在兩個(或更多)私有/保護的網站之間輕鬆切換 - 即使他們可能會駐留在同一臺機器。此外,這也可以讓你實際擁有兩個公開的URL,根據你的需求和部署,這些URL是簡單的交換。

只是一個想法......我還沒有在這種情況下測試,但我公開運行在Apache反向代理,並通過VPN服務的私人IIS網站的內容。

相關問題