2014-10-20 73 views
2

我們正在嘗試爲Windows Azure中的LoadBalanced集創建自定義探測器。 我們創建了一個Windows Communication Foundation服務探測器,它正在監聽端口1001(在Firewall-TCP中爲此端口添加入站規則,允許所有人連接)。Windows Azure的自定義探針負載平衡器

如果滿足一些條件,此服務將返回200(確定),否則將返回404(NotFound)。

端點配置:

Protocol - TCP 
Public Port - 50655 
Private Port - 50655 

我們在LoadBalanced設置屬性配置:

Probe Protocol - HTTP 
Probe Path - probe 
Probe Port - 1001 
Probe interval - 15 
Number of Probes - 2  

的問題是,即使探頭服務是VM返回404,負載平衡器仍然選擇這個虛擬機來處理請求。

如果我們將端點配置爲具有專用端口和公共端口1001(與探測端口相同),則其按預期工作。但是我們需要讓端點監聽端口50655.我們如何實現這一目標?

回答

0

我注意到你配置你的端點爲類型TCP而不是HTTP。我認爲這是問題!

從邏輯上思考,你會看到負載均衡器無法完全假定它應該看到HTTP 200成功驗證端點是否已啓動 - 因爲它甚至不知道它是否會在所有!

所以相反,它會回落到做TCP樣式'你是'測試,這是發送一個SYN到你的端口,並檢查它得到一個ACK回。