簡體   English   中英

'one'IOLoop如何處理10k連接?

[英]How can 'one' IOLoop handle 10k connections?

對這個愚蠢的問題感到抱歉,但我真的很困惑; 我希望你能糾正我錯在哪里。

基於線程的服務器(如Apache)中,我理解每個客戶端都會創建一個新的“工作者”來滿足他的所有需求。

事件驅動下 (如Nginx和Tornado),這引起了我的困惑,特別是在像Python的GIL這樣的非線程安全 的情況下 ; 根據我的理解,有一個單循環將處理所有客戶端請求,所以作為我的愚蠢的理解,如果有10 000個同時連接,我不知道如何服務所有這10個請求!

在事件驅動的服務器中,您只需使用非阻塞調用一個接一個地處理連接(來自特定連接的read()write() 您通常在連接之間使用一些調用來進行多路復用( select()poll() ,...),它們告訴您需要為哪些連接提供服務,並依次為它們提供服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM