游戏服务器设计

线程模型

  1. 多个线程对应同一个数据队列
  2. 每个线程对应一个数据队列,可以让一类操作全部放到同一个线程
  3. 单线程

gateserver

  1. 客户端所有交互都与gateserver进行
  2. 可以做成永久,与具体游戏项目无关

dbserver

  1. 处理数据存储和读取
  2. 使用rocksdb进行封装
  3. 采用事务操作:要么全部成功,要么全部撤销
  4. db底层已经在key级别加锁了
  5. db服务器可以封装成类似于redis的永久性,不需要新代码维护。(PS:难点是合服,可以考虑提供统一接口,由外部实现这些接口)

gameserver

  1. 处理玩家私有逻辑,可考虑分线,部署多个gameserver
  2. 同一个玩家的所有在操作在同一个线程进行
  3. 线程模型:多线程,每个线程一个数据队列。同一个玩家的交互全在同一个线程进行

deliveryserver

  1. 处理玩家公共逻辑:帮派、好友等等
  2. 线程模型:单线程,开发维护简单

logserver

  1. 所有其他服务器的日志发到logserver,由logserver写文件
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值