开源服务器框架NoahFrame分享 第一章:游戏服务器的进化[多图]
时间:2017-10-31 11:55:21
3:插件和模块机制
下过代码观察的同学就肯定知道,所有服务器中,可执行文件都是一样的,都是一个NFPluginLoader_d这样的执行文件,他启动的时候会自动检测Plugin.xml目录下面的所有插件(plugin),然后加载所有的插件,开始帧循环;而在每个插件中,又有大量的各种程序员们根据功能的归类划分出来的模块(module),插件又会初始化这些模块,然后启动帧循环。插件Plugin作为模块Module的容器/承载着,本身提供了他所承载的Module创造,初始化的任务;所有的Module并行完成所有的业务逻辑,Module与Module可以互相调用接口,为对方提供服务。
4:actor机制
actor机制主要用户解决同步堵塞访问的瓶颈,比如数据库访问,比如http请求,比如长时间运算等问题;在NF中,大量使用了actor技术,后续还有计划,让每个scene都运行一个actor,这样来提升gameserver的承载能力;
5:直链nosql数据库机制
从架构图上可以看出,gameserver直连了数据库,并没有像传统架构那样使用一层数据库代理,是因为基于目前nosql越来越优秀,夸服同步服务需要也越来越旺盛,需要直接内存数据库以开发更复杂的业务。同时,在直练数据库的情况下,又提供actor服,解决了同步存储/加载数据的堵塞问题,使用NF即可支持同步/异步访问数据库;同时,协程技术也支持同步代码异步性能来支持此特性,让程序员不用担心io堵塞问题写同步代码,大大提升了效率;
上述为NF设计上的一些大概内容,如有兴趣,请继续跟进本博客,会持续把整个NF的设计过程讲解出来,也希望持有不同意见的同学加入交流。
NF项目为开源的分布式服务器解决方案,其中包含了网络库,actor库,以及数据驱动等新技术,能大幅提升开发效率节省开发周期以及提高程序的稳定性。
相关游戏
-
开源读书软件26MB新闻资讯
-
开源阅读app1MB新闻资讯
-
tap,tap双击背部官网111MB系统安全
-
小松鼠短视频完美开源源码26MB影音视频
最新合集
相关文章
最新游戏
玩家评论
网名(您的评论需要经过审核才能显示) 回复 [ ] 楼取消回复