會發生什麼: 如果我寫了數百萬線程的線程池支持的服務器應用程序,它會每秒百萬處理數以百萬計的請求/秒:如何做負載均衡器(主服務器線程)的作品
請求我一直在開發Web服務。 Web服務部署在具有前端負載均衡器的1000臺計算機上。負載平衡器的工作是在實際處理Web請求的服務器之間分配流量。 所以我的問題是,因爲在負載平衡器本身內部運行的進程本身是單線程來監聽端口上的web請求,所以它如何處理每秒接受數百萬次請求。負載平衡器可能正在忙於委派一項任務,那麼在該時刻發生的傳入請求會發生什麼情況?
在我看來,所有客戶端將無法處理,因爲只會有一個請求處理線程來傳遞傳入請求的線程池
這樣沒有多線程服務器應該永遠工作。 我不知道Facebook/amazon每秒處理數百萬次請求。
認爲通過增加線程數量導致併發性增加是錯誤的。你的系統核心數量有限,所以它的工作量與此成正比。 –
擁有數百萬個線程的線程池?有人非常困惑。 – SergeyA
我的意思是支持1000臺服務器的負載均衡器。 同樣的類比適用於具有由工作線程池支持的單個傳入請求處理程序線程的進程 – Saby