我正在設計一個高性能服務器(而不是HTTP服務器),並且正在考慮我的設計選項。服務器應支持大量的傳入連接(以千計),並在Windows和Linux上進行編譯。使用libEvent的高性能服務器
在窗口方面,我已經實現了一個IO完成端口服務器,這個服務器目前似乎可以處理壓力。由於linux需求彈出,我現在嘗試找到一個跨平臺的庫,它使我能夠在線程池中使用接受/讀取事件。
到目前爲止,libEvent似乎是正確的選擇(類似於link中的「示例代碼:回顯服務器」)。但是從another page in the libEvent docs報價:
如果event_base被設置爲使用鎖,它是安全的多線程之間訪問 。但是,它的循環只能在單個線程中運行,但是,該循環只能在 之間運行。如果你想有多個線程輪詢IO,你需要 爲每個線程都有一個event_base。
我的基本設計是讓線程池響應接受和讀取事件。這句話,如果我理解正確,說我不能那樣做。
有沒有人有任何高perf的經驗。基於libEvent的服務器?我應該使用不同的圖書館嗎?
這種服務器的示例代碼將是完美的