我最近遇到一些情況,其中服務器將分發包含所有聽衆完全相同數據的事件流,例如「最近活動」框。快速單線程彗星服務器,可能嗎?
我發現像Apache這樣的服務器運行線程處理和查詢包含相同數據的每個彗星流的數據庫是相當奇怪和低效的。
我會爲那些全局(而不是每個用戶)數據流做的事是運行一個連續發送數據的線程,併爲每個新的請求輸出一個新的(綠色)線程,然後'合併'到主線。
一個線程可以爲多個套接字提供服務,或者多個客戶端可以收聽同一個套接字嗎?
一個例子
O =事件
# threads received
| a b # 3
o// # 3 -
|/_/
| # 1
o c # 2 a, b
|/
o/ # 2 a, b
o # 1 a, b, c
| # connection b closed
o # 1 a, c
難道這樣的事情存在嗎?它會起作用嗎?有可能嗎?
聲明:我不是服務器專家。
看起來不錯:)會扭曲做同樣的?他們在某處提到它。 – Pepijn 2010-06-17 13:52:59