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