集群式游戏服务器架构方案设计开发



转载自http://www.libing.net.cn/post/Cluster-Game-Server-development.php


 

 

 

自从2003年开发VOIP Radius Server以及修改Gnugk依赖,从事服务器开发已经近五年了,对服务器开发也有一些自己独到的看法以及见解。当摆脱了技术本身的束缚之后,才理解重要的并不是某种技术的运用,而是整体设计的考虑,也慢慢明白了设计是开发的灵魂的道理。

从技术层面来看,各个平台都有一些自己特有的东西,比如Windows 平台下面的IOCP技术,可以说为了支持大的并发,IOCP是一个Windows平台的必选方案。而在Linux下面Epoll又是所有开发人员需要掌握的技术。当然还有FreeBSD下面Kqueue的应用了。一些其他平台也有自己独有的AIO库。

随着网络开发的进一步理念加深,跨平台库也吸引了越来越多的使用者的眼光。比如行业里面最出名的莫过于ACE、ASIO(Boost公司)两大支持库。新的版本中都对IOCP支持,使用的是Proactor设计模式实现的。

当我们拥有了以上的知识背景后,我们就可以开始着手设计了。而这仅仅是一个必要条件,而不是重复条件。为什么呢?

我们先来提一下集群式服务器开发的常用几个技术知识。

1:线程                    

2:线程池

3:内存池

4:数据库连接池

5:为了达到1:10000的连接,可以采用Server-Client的连接方式,而为了达到1:10000*100的连接,我们怎么办呢?一般会采用Client-> ConnServer -> LogicServer。这是技术背景。ConnServer在接受完Client 的连接后,将Logic Server 暴露给Client,并立刻断开连接。以后的数据交互就和Conn Server没有关系了,这种架构有很多的优势。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值