游戏服务器框架设计

好久没写东西了,慢慢开始整理点东西吧。
服务器架构网上有好多讨论了。这里只讨论一个游戏服务器设计的一些东西

1. 网络层框架
一般现在都是用mina netty ,因 netty比mina提供现成的东西比较多,开发起来简单,更新比较快,越来越多的人开始用netty了。

2. 逻辑层框架
一个消息从网络层传送过来,逻辑层需要做处理。这样就涉及到一个问题,逻辑并发处理问题。
简单的逻辑层直接使用单线程处理所有逻辑,但是这样会要求对所有IO的操作要异步化处理,写起代码起来非常不方便,对开发人员要提前培训说明下。
复杂点的使用多线程,这样就要考虑消息的处理机制了,逻辑处理的根本还是业务单线程,这样上层
开发就不用考虑并发问题了。个人业务的消息还是同一个线程处理,场景的同步处理还是需要单独的线程,还有公共的模块。比如 排名 战队 这些。也要单独处理,差不多就是三块线程池处理就行 每个模块或者个人单线程处理就OK了,至于内部可能涉及到的跨线程处理可以使用内部指令跳转处理
3. 缓存框架
进程内的缓存可以考虑使用guava,ehcache 独立进程的缓存就有很多了 redis 。。。这样可以加快访问速度。
4. 定时框架
定时活动,定时逻辑处理
5. 数据保存框架
简单点使用hibernate ,也可以自己写保存数据的框架

你可能感兴趣的:(java)