(1)技术系列之 线程。服务器设计的基本模块。文章已经完成。使用方面有很多的第三方库可以选择。
(2)技术系列之 状态机。服务器设计的常用模块。文章完成一半。boost中有状态机库可以使用,本人并不太喜欢这种使用方式,还是比较喜欢能直观反映状态事件转换的列表方式。其它库未发现有可以使用的状态机模块。文中已将面向过程的状态机实现,后续待完成。
(3)技术系列之 内存管理。提高服务器性能的必选模块。服务器设计人员在一段时间的摸索后,都会发现:服务器性能的关键在于内存。从收包到解析,到消息内存的申请,到session结构内存的申请都要小心处理,尽量减少内存数据copy,减少内存动态申请,减少内存检索。
(4)技术系列之 定时器。服务器端维护状态一致性,保证系统可以自动净化的必备模块。
(5)技术系列之 网络模型。服务器端必须模块。windows下的iocp,unix下的epoll。ace、boost等都有专门的包供使用。
(6)技术系列之 回调设计/接口设计。常用设计。本不打算写这篇文章。前一段时间发现不少人讨论,总结一篇吧。
(7)技术系列之 必备外围功能。完善的log机制,强大的交互式shell,telnet模块,配置模块,实时管理模块等。
(8)技术系列之 存储相关。磁盘缓存,分布式缓存,内存数据库。目前还没有把握能写的很全面。
(9)最后可能写点零散的小功能,到时候再看了。
写个提纲,给自己一个督促,希望能早点完成吧。本还打算写点常用的协议,常用的加密算法等,依照我现在的写文章速度,估计要2009年了。