swoole 开发游戏服务端

Randy
  • 911

现在准备使用swoole开发游戏服务端,暂时不考虑其他语言,因为公司没有熟悉其他语言,而且项目截止时间马上要到
我想问的是,比如在开发服务端的时候,游戏上面有一个动作只有金币达到多少才能操作,这个server收到客户端的socket请求,判断金币,这个从数据库判断吗?前期预估tcp链接数大概有10w 如果直接从数据库判断感觉压力太大,另外我还需要保证数据完整性!如果真要这样做,数据库这块要一主多从,swoole里面的逻辑处理全部提交给task进城,处理完成之后推送到游戏客户端,,,这样我担心有延迟!

目前想采用办法是:
1:客户端sokcet链接服务器
2:游戏上的某个操作动作 commit一个动作
3:后端根据这个动作进行处理 逻辑判断
逻辑判断这块
从数据库查询相关的数据进行比对(比如用户的金币)如果失败那么直接推送给客户端一个消息
如果成功那么可能还要修改数据库 插入数据库一些相关的数据 ,最后推送给客户端成功的标识!!!!!

请大家发表意见!谢谢

回复
阅读 5.5k
3 个回答
  1. 登录之后把用户信息写到redis/memcached这种缓存里面
  2. 所有计算都基于缓存计算
  3. 后台进程定期把缓存数据存入数据库

你试试看可不可以达到尼的效果?

hoterzhang
  • 2
新手上路,请多包涵

首先应该是登录获取token,然后会有一个网关服务器去判断用户与gameServer之间是否连接吧?请问你是怎么解决的?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏