服务器底层

前年,也就是2012年,当时在项目空闲的时候想写个服务器底层,想法的来源是一个稳定、高效的底层对服务器开发与扩展有巨大的帮助。于是乎开始写,当时写了一点点,由于项目比较忙停下了手中的底层。后来在去年6月份重新拾起继续完成,差不多在去年11月份弄完了。压力测试效果不错,稳定性也非常好........废话不多说,开始。

先从服务器模型开始说起,比较常见的多进程(apache)、单线程(libev,libevent,asio,twisted (python))、单进程多线程等等,下面链接有写描述可以比较清楚的了解这些模型。

http://blog.csdn.net/solstice/article/details/5307710#_Toc4491

http://blog.chinaunix.net/uid-24148050-id-3195151.html

当然除了这些模型外还有一种基于协程,boost中有协程的支持,但我觉得在语言级别对协程支持得比较好的是go语言,erlang语言,跑题了不在讨论范围。。。呵呵

而我选用的是单进程多线程,的Reactor模式,原因是在网络游戏服务器中,一般是以场景或者大厅为单位区分。


主循环

接受连接线程(accept thread)

读线程(read thread)

写线程(write thread)

定时器线程(timer thread)

数据库线程(db thread)

逻辑线程(logic thread)

协调线程(client thread)


整个底层包含这些内容,我将一一说明我的设计思路和这些线程干的活,以及它们之间的数据交互

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值