2014-10-02 153 views
0

我有一個作爲雲服務託管在Azure上的WEB API服務。Azure雲服務虛擬機端點

該服務擁有自己的內存中緩存存儲庫。

該服務有一個HTTP GET控制器方法,讓我看看緩存中條目的數量。 即:GET http://xxxx.cloudapp.net/CacheEntries回報「1000個緩存條目」

現在有必要擴大和擴展服務 - 因此我們增加了實例數從1到4這4創建的虛擬機。

如何檢索特定虛擬機的緩存條目數量?甚至更好:我如何獲得所有虛擬機的緩存條目數?

我想要做的事,如:

GET http://xxxx.cloudapp.net/VM1/CacheEntries

GET http://xxxx.cloudapp.net/VM2/CacheEntries

GET http://xxxx.cloudapp.net/VM3/CacheEntries

GET http://xxxx.cloudapp.net/VM4/CacheEntries

和輸出應該是這樣的:

實例#1:1000的高速緩存條目

實例#2:1200的高速緩存條目

實例#3:1200的高速緩存條目

實例#4:600的高速緩存條目


更新:解決方案是Azure公共IP地址 - 但其仍處於預覽模式: https://azure.microsoft.com/documentation/articles/virtual-networks-instance-level-public-ip/

http://clemmblog.azurewebsites.net/assign-public-ip-addresses-azure-vms/

回答

0

你的問題有點棘手。您可以創建(非負載平衡)不同端口(81 => vm1端口80),以便檢索特定的虛擬機信息。但是,當您添加另一個實例時,這會導致維護問題。或縮減回三個實例。

但是,由於您正在縮放;你不應該使用共享緩存(比如Redis),所以你不必關心每個實例的特定實例和緩存條目嗎?

今天此功能變爲可用;實例級別的公共IP:Instance level public IP overview所以你可以分配一個公共IP到你的實例,並輪詢一個特定的singleton http調用來檢索這些細節。

+0

同意。但是我的真實場景與問題不同。爲了不混淆人,在這個問題中,我給出了一個通用的案例場景。我真正的情況是該服務有一個管理線程的單例類。我需要知道每個虛擬機內運行的活動線程的數量。 – 2014-10-02 19:20:54

相關問題