2011-05-17 111 views
4

我已經搜索了一段時間瞭解一本涵蓋服務器設計模式的好書。我正在尋找一些沿着四人幫的路線。什麼是服務器設計模式/最佳實踐的最佳來源?

概念包括:

- 螺紋VS流程VS基於組合的解決方案
- 如何正確類選請求。即我期望來自任何域的請求只有有限,所以我只能爲每個域分配一定數量的工作人員。
- 工作者超時
- 民意調查/選擇/ epoll用例
- 而那些我不知道的東西!

請任何建議!

謝謝!

回答

3

兩個非常有用的書:

該書企業集成模式 提供一致 詞彙和視覺標號t 描述了大規模整合 技術的許多實施方案。它還在 中詳細探討了異步消息傳遞體系結構的優點和限制 。您將學習如何將 應用程序連接到郵件系統的設計代碼,以及如何將郵件路由到正確的目標以及如何監視郵件系統的健康狀況。該 模式書中是 技術無關,來到生活 在不同 通訊技術,如SOAP, JMS,MSMQ,.NET,TIBCO和其他EAI 工具實現的例子。

+0

+1絕對推薦這本書。 – 2011-05-17 02:11:13

+0

我喜歡_企業應用程序架構模型_比標題建議更多。 :)但我不會認爲它是學習如何編寫好的Unix服務器的地方。 – sarnold 2011-05-17 02:17:24

1

Advanced Programming in the Unix Environment, 2nd Edition是學習Unix系統編程細節的絕佳資源。這本書寫得非常好(我最喜歡的英語書籍之一),深度非常好,關注四種常見環境(發佈時)有助於確保它是全面的。它不會太糟糕 - 新版操作系統中的新功能對於特定問題可能非常棒,但本書確實涵蓋了基本知識。

當然,缺點是APUE2nd錯過了一些夢幻般的第三方工具,如libevent,這可以使編程基於套接字的服務器變得更容易。 (而且會自動選擇的select(2)poll(2)epoll(4)kpoll和Windows事件「最好」的處理,爲平臺)。

至於線程和進程之間進行選擇,可以歸結爲:多少內存共享你需要/需要在任務之間?如果每個進程可以運行相對獨立,進程提供更好的內存保護和速度懲罰。如果進程需要與對方的對象或單個線程「擁有」的對象進行交互,那麼線程爲共享數據提供了更好的基元。 (但是很多人會認爲線程的共享內存是對有趣和令人興奮的錯誤的邀請。它取決於。)