我正在尋找多線程彗星服務器庫 - 我需要的是在線程池(4-8線程)上工作的異步io(使用epoll)。如果它是多線程的,龍捲風將是理想的。多線程彗星服務器庫
爲什麼多線程?我需要處理和提供可能來自每個連接用戶的數據 - 它可以在使用數據庫的龍捲風實例之間同步,但即使是nosql也會大幅減速 - 幾乎每個請求都會以數據庫寫入/更新結束 - 即使通過使用異步司機不是一個好主意。我可以將所有內容存儲在本地易失性存儲器中,因此速度可以非常快 - 但必須在單個進程上運行以避免進程間通信。我不需要縮放 - 單個框就足夠了 - 但它必須快速。一些數據將存儲在MongoDB中 - 但是mongo查詢的數量將會是普通請求的5%。
重要的是 - 信號燈(和其他更高級別的方法)對我來說不是火箭科學,所以我不害怕同步。
要求:
- 異步IO
- 非阻塞
- 數千個併發連接
- FAST
- 基本HTTP特徵的(GET,POST,餅乾)
- 處理能力請求異步(執行某些操作,使用回調進行異步調用(例如數據庫查詢),處理回調,返回數據)
- 線程池
- C++/Java的/ Python的
- 簡單,重量輕
這將是不錯的異步蒙戈司機太
我看着進入Boost ASIO,它似乎能夠做我所需要的 - 但我想專注於應用程序 - 而不是編寫http請求處理。
我讀過有關Tornado(似乎理想,但單線程),Simple(不知道是否可以異步處理請求和異步調用後返回數據),BOOST ASIO(非常好的,但太低級)