《从零开始搭建游戏服务器》架构和工具分析

一、前言:

        在正式开始搭建框架和编写代码之前,我们首先需要在大脑里构建游戏服务器的蓝图,主要思考几个问题:

1.一个完整的游戏需要划分为几个类型的服务器?

2.选择哪种或者哪些(可能同时结合多种数据库使用)类型的数据库?

3.使用什么网络通信框架和编解码(规则)工具?

4.其他工具。


二、概述:

1.服务器分类:

        对于性能要求较高、用户量较多的大型游戏类型,例如Moba或者MMO游戏,服务器通常根据功能划分为:登录服务器、游戏(逻辑)业务服务器、充值服务器和日志服务器,这种分配方式可以实现业务的分离和程序的解耦。


2.数据库的选择:

        对于游戏开发而已,选择MySQL作为数据存储服务器无疑是理智的选择,一方面是整体相较Orcle和SQL Server更加轻量级,另一方面是已有很多成熟的封装类库可以使用,无需编写太多数据库操作代码。

        处理这种永久性的数据存储数据库之外,还有另外一种用于内存缓冲的数据库,具备存取效率极高,但丢失几率相比前类服务器要高一些,主要用于需要快速操作数据,且不造成数据库死锁的方案,最常用的有Redis。存储过程大致如下:将需要频繁和快速操作的数据存储在Redis数据库(内存缓冲),然后定时从Redis将数据回写到MySQL数据库中。


3.网络通信框架:

        对于Java编写网络通信,当前最为常用的网络通信框架无疑就支持分布式开发服务器的Netty这种NIO(非阻塞异步网络通信)框架,而相应的编解码方式,则可以考虑Google开发的ProtoBuffer,数据量小而且跨平台特性好。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值