(1)技術系列之 線程。服務器設計的基本模塊。文章已經完成。使用方面有很多的第三方庫可以選擇。
(2)技術系列之 狀態機。服務器設計的常用模塊。文章完成一半。boost中有狀態機庫可以使用,本人并不太喜歡這種使用方式,還是比較喜歡能直觀反映狀態事件轉換的列表方式。其它庫未發現有可以使用的狀態機模塊。文中已將面向過程的狀態機實現,后續待完成。
(3)技術系列之 內存管理。提高服務器性能的必選模塊。服務器設計人員在一段時間的摸索后,都會發現:服務器性能的關鍵在于內存。從收包到解析,到消息內存的申請,到session結構內存的申請都要小心處理,盡量減少內存數據copy,減少內存動態申請,減少內存檢索。
(4)技術系列之 定時器。服務器端維護狀態一致性,保證系統可以自動凈化的必備模塊。
(5)技術系列之 網絡模型。服務器端必須模塊。windows下的iocp,unix下的epoll。ace、boost等都有專門的包供使用。
(6)技術系列之 回調設計/接口設計。常用設計。本不打算寫這篇文章。前一段時間發現不少人討論,總結一篇吧。
(7)技術系列之 必備外圍功能。完善的log機制,強大的交互式shell,telnet模塊,配置模塊,實時管理模塊等。
(8)技術系列之 存儲相關。磁盤緩存,分布式緩存,內存數據庫。目前還沒有把握能寫的很全面。
(9)最后可能寫點零散的小功能,到時候再看了。
寫個提綱,給自己一個督促,希望能早點完成吧。本還打算寫點常用的協議,常用的加密算法等,依照我現在的寫文章速度,估計要2009年了。