2017-07-20 21 views
0

我們使用.NET SDK將數據上傳到我們的天藍搜索服務。如果我們開始獲取HTTP 207響應,並且甚至一旦獲得HTTP 503響應,我們已經有了自動回退的邏輯。我們如何確定Azure搜索服務如何繁忙?

我看到的問題......這一切都像是一個黑匣子。我想知道如何忙於搜索服務,所以我們不會因爲重試特定的數據上傳之前沒有足夠長的時間而導致問題進一步發生。我們可以獲得關於天藍色搜索服務狀態的任何類型的診斷信息,它是多麼繁忙等等?我們是否可以獲得我們在接收207和503時可以使用的任何診斷信息,以便我們可以自動等待幾秒鐘或幾分鐘(根據搜索服務報告的繁忙情況動態計算),因此我們可以最有效地開始在搜索服務真正準備好時發送更多數據?

感謝, 安德烈斯

回答

0

由於您使用的.NET SDK,你已經有重試503S行爲。 SDK默認使用指數退避策略。您必須自己處理的唯一重試案例是從Index API返回的207個案例。

Azure中目前沒有API搜索主動測量搜索服務的忙碌程度。假設您沒有使用免費服務,您的搜索服務的所有容量都將專門用於您。您的搜索服務無法知道它何時不會再忙,因爲這完全取決於您的應用程序對其的負載。這就是爲什麼我們建議在重試時使用指數退避策略。

如果您想了解如何實施SDK的指數重試策略,您可以使用review the code on GitHub