关于一种页游服务器的想法

简介:
+关注继续查看

     这几天一直写上层逻辑,因为是sns游戏的,所以压力不是很大,但还是想做一套页游mmorpg类游戏的框架。闲暇时候就玩玩天龙八部,读读征途的代码。机缘巧合,遇见了之前天龙八部的服务器引擎工程师,交流了很久才知道,现在网上流传的天龙八部的版本已经很老很老了。据他说现在的天龙八部的服务器框架也加上了网关的设计,负责网络均衡;添加了消息队列,分离了通信和逻辑处理。

      不过我仍然觉得旧框架可以负载现在的页游服务器,旧的线程机制是这样,每个线程负责一个地图,并且负责这个地图上面玩家的与客户端的通信、逻辑处理,负责这个地图上面的怪物AI。搜集了一些数据。

 

                send && recv 是系统函数,每秒大概可以执行18w次。(听一个主程讲座记录)

                线程每秒可以执行处理15w条消息(前项目所得数据)

                线程每秒跑50帧,一帧大概20ms,这20ms可以驱动4k只怪物的AI(查询一个在线游戏所得)

      

      现在我们假设一个线程负责一个地图,这张地图上面,大概有400只怪物,1000人,每人每秒大概3次操作。也就是说要处理大概3k条消息,驱动400只怪物,大概要有6k次的系统调用。发送处理,我们做这样的处理,不能实时的发送给客户端,每个连接每秒发送三次。

     这样消息处理占用了20ms,send && recv的系统调用占用了33ms,抛去这些消耗,剩下的CPU资源完全可以驱动这400只怪物。

     当然我们的每个线程一定要做成可以配置的,比如对于开服时候的新手村,一定要用独立的线程去负责,其他的70级-80级的地图我们可以让一个线程去负责2-3张地图。那么我们的页游服务器就可以这样设计:

         

     为了保证单线程的逻辑,我们将公共处理的数据比如说帮派,好友放到世界服去处理,另外日志服务器、数据库缓存服务器也独立出来。

     既然构架无所谓好坏,那么够用就行,不折腾。

     十分期待各位大神,批评指导!!!

相关文章
|
24天前
|
XML Java 程序员
页游AS客户端架构设计历程记录
页游AS客户端架构设计历程记录
14 0
|
9月前
|
监控 数据挖掘 SEO
如何提高着陆页转化率?有效提高着陆页转化率的8个技巧
验证以商业和产品、营销和推广为最终目标的设计到底效果如何,转化率是最常用的指标。那么如何提高着陆页的转化率呢?接下来一起来看看小编整理的提高着陆页转化率的8个技巧吧。
53 0
如何提高着陆页转化率?有效提高着陆页转化率的8个技巧
|
9月前
|
搜索推荐 SEO
着陆页有什么特点?详解着陆页的8个特点及作用
着陆页是为特定目的服务的网页,着陆页的主要目的是将访问者转化为线索。虽然有不同的类型和设计,通常情况下,登陆页面将包含一个线索表格,用于要求访客提供联系信息,以换取有价值的东西。
236 0
着陆页有什么特点?详解着陆页的8个特点及作用
|
10月前
|
移动开发 HTML5 SEO
着陆页如何设计?详解着陆页设计的5大要点及常见问题
着陆页的设计只有一个重点目标 - 称为行动呼吁(CTA)。这种简单性使着陆页成为提高广告转化率的最佳选择,在设计着陆页时需要传递以下5类信息,也是着陆页设计的5大要点,一起来看看吧。
101 0
着陆页如何设计?详解着陆页设计的5大要点及常见问题
|
10月前
|
搜索推荐 SEO
什么是着陆页?企业为什么要做着陆页的6大理由
着陆页是可以帮助企业将访客转化为用户的一种高效工具。通过使用着陆页,企业可以促成一笔交易,传播促销活动,提供信息并获取访客联系方式。接下来小编先跟你分享什么是着陆页,然后告诉你企业要做着陆页的6大理由,一起来看看吧。
100 0
|
10月前
|
前端开发
弹性布局案例实操(京东网页对草稿页面进行改进)(二)
弹性布局案例实操(京东网页对草稿页面进行改进)(二)
91 0
弹性布局案例实操(京东网页对草稿页面进行改进)(二)
|
10月前
弹性布局案例实操(京东网页对草稿页面进行改进)(一)
弹性布局案例实操(京东网页对草稿页面进行改进)(一)
298 0
小米商品页半透明效果案例
小米商品页半透明效果案例
54 0
小米商品页半透明效果案例
|
移动开发 前端开发 JavaScript
_HTML5期末大作业——HTML+CSS+JavaScript平遥古城旅游景点介绍(6页)
_HTML5期末大作业——HTML+CSS+JavaScript平遥古城旅游景点介绍(6页)
|
移动开发 前端开发 JavaScript
一张H5游戏页引起的思考
最近开发了一个移动端的端午活动页面,做完后就想写点东西总结一下,感受最深的就是打草稿。 刚开始并没有打草稿,直接开干,越做到后面就越觉得代码很乱很杂,非常不舒服,做到哪个页面写这个页面的CSS,没有大局观。
一张H5游戏页引起的思考
推荐文章
更多