我創建并管理了一個內置在 ASP.NET ASMX 中的 SOAP API。API 每天處理大約 10,000 個請求。大多數情況下,客戶端發送的大約 3 個請求(我們只有 1 個客戶端)沒有到達 Web 服務器 (IIS)。沒有明顯的模式。
我們實際上使用了位于負載均衡器后面的 2 個 Web 服務器。從 IIS 日志來看,我 100% 確信請求沒有到達任何一個 Web 服務器。
管理網路和負載均衡器的團隊無法“確認或否認”問題是否發生在負載均衡器上。他們建議請求有時“在互聯網上迷路”是正常的,并表示我們應該在 API 中添加重試邏輯。
這些請求使用 TCP(和 TLS)。客戶已確認其端沒有問題。
我的問題是:TCP 請求以我們看到的頻率“迷失在互聯網中”是否正常(每天大約 10,000 次中的 3 次)。
順便說一句,Web 服務器和客戶端都位于同一個國家/地區。值得一提的是,這個國家是一個英語國家,所以我們的互聯網基礎設施并非以次充好。
uj5u.com熱心網友回復:
沒有 TCP 請求丟失之類的東西,因為首先沒有 TCP 請求之類的東西。有一個 TCP 連接,其中有一個 TLS 隧道,其中使用 HTTP 協議 - 只有在這個 HTTP 級別才有請求和回應的概念,然后在服務器日志中可見。
很多地方都可能出現問題,例如由于沒有路由(即沒有互聯網)或丟包過多而無法建立 TCP 連接。位翻轉可能會導致 TLS 級別的隨機問題,這會導致完整性錯誤,從而導致連接關閉。在 HTTP 級別可能會出現問題,例如,當使用 HTTP 保持活動狀態并且服務器關閉空閑連接而同時客戶端嘗試發送另一個請求時。可能還有更多的地方。
客戶已確認其端沒有問題。
我不知道這到底意味著什么。如果客戶端發送請求并獲得回應,則沒有問題。但這顯然不是這里的情況,因此客戶端無法建立 TCP 連接,在 TLS 級別失敗,發送請求時失敗,讀取回應時失敗,超時...... - 但也許客戶端是只是忽略一些錯誤,因此在客戶端看不到任何問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/495945.html
