闲来无事用GO语言写了个简易的房间类游戏后台框架,目前实现基本房间功能,并放了贪吃蛇游戏进去,可实现多人在线贪吃蛇。由于没有前端,导致项目难以继续下去。整个项目大概完成75%,基本目标也都实现,看以后是否有前端加入再继续编写。

(一)系统结构

设计的思路就是高可扩展,只要当前负载已达到上限,只需要整体扩容或者部分扩容即可,整个扩容过程用户没有感知。最终目标全自动化,将各个组件放在docker下运行,kubernetes控制游戏的扩容。

1、网关

网关负责接收来自客户端信息,对用户身份鉴权并解析其数据,从服务发现管理中心(ETCD)获取对应服务将其信息转发。其中不符合规则、黑名单等数据将被拦截,保证服务正常运行。对服务进行流量均衡,对客户端进行协议适配,转换为统一格式发送给服务。限流功能防止客户端在同一时间段访问数量多次。同时网关可以使客户端从一个服务器到另一个服务器的平滑过渡。客户端不用感知服务器变化,降低了编写难度。

2、消息队列

消息队列用来转发信息,使服务器之间能相互通信,只需要知道对应服务器编号即可向其发送信息,解耦并降低模块之间的编码难度。

3、大厅服务器

大厅负责处理玩家创建房间、加入房间、在线匹配、公告等功能。

4、游戏服务器

游戏服务器负责玩家的游戏过程。

房间类游戏后台框架(一)—介绍相关推荐

  1. 房间类游戏后台框架(四)—游戏服务器

    游戏服务器概述: 游戏服务器装载着游戏对外服务,对于房间类游戏其功能包括房间的创建.进入房间.离开房间.开始游戏.结束游戏.由于不同游戏对应的逻辑不通,如果需要代码共用,则可将房间的操作分离出来做成一 ...

  2. 房间类游戏后台框架(三)—大厅服务器

      大厅服务器概述 大厅服务器负责玩家进入游戏的接入.发送公告等功能.当玩家登陆完毕.游戏结束后将会进入大厅服务器.   大厅服务器需求 公告 对玩家进行匹配 创建房间 加入房间 大厅服务器结构 大厅 ...

  3. php实现棋牌房间,App房卡棋牌类游戏也有了一键进入房间的神操作!

    APP房间类游戏,要想有竞争力,关键就在于下载安装方便和进入游戏房间方便--其实就是拉朋友方便,这样才能够更快发展用户量和改善用户消费时的体验.减少在多个中转环节中的损耗以增加用户的消费时长. 这些方 ...

  4. 开源游戏服务器框架汇总

    转自:https://gameinstitute.qq.com/community/detail/133153 有哪些开源游戏服务器框架,值得学习呢.基于node.js .java.C#.golang ...

  5. 大型MMO-SNS类游戏服务器架构

    SNS类型的游戏和RPG类的网游有一些不同的特点,而这些特点会导致这类游戏的后台架构和RPG网游的后台架构存在一些区别. SNS类型的游戏一般有以下的特点: (1)所有的玩家角色可能存在交互 SNS类 ...

  6. 【Unity3D插件】uMOBA插件分享《Moba类游戏框架插件》

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 一.前言 今天介绍一款MOBA游戏的插件,已经有一个雏形了,可以作为开发的模 ...

  7. Fresco图片加载框架的介绍,相关开源库以及工具类的封装

    Fresco图片加载框架的介绍,相关开源库以及工具类的封装 本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发. 简介 Fresco 是Facebook开源的安卓上的 ...

  8. 牌类游戏使用微服务重构笔记(四): micro框架使用经验

    项目依赖 推荐使用go module, 我选择go module的最主要原因是足够简单,可以脱离gopath,就跟写nodejs一样,随便在一个地方新建一个文件夹就可以撸代码了,clone下来的源码也 ...

  9. java后台框架介绍

    框架是什么 软件的半成品,未解决问题制定的一套约束,在提供功能基础上进行扩充. 作用:提高开发效率. 动手写一个框架 新建一个项目 在该项目新建一个类,实现一个简单打印功能 !!此项目就好比框架,别的 ...

最新文章

  1. Java基础笔记17
  2. k8s 自定义dns_K8S 生态周报| Docker v19.03.10 正式发布
  3. 机器学习入门案例简单理解——Tensorflow之MNIST解析
  4. html label标签 ie6,说说HTML5中label标签的可访问性问题
  5. Java继承、重写与重载 笔记
  6. 【HDU - 1172】猜数字 (枚举暴力)
  7. 07 - java 方法里面的 return
  8. 苹果秋季新品将要发布,MacBook Pro都有哪些变化
  9. springBoot跨域解决
  10. pytorch GPU
  11. 腾讯数据库专家多年运维经验凝聚成简,总结这份595页工作笔记
  12. java rsa enc 源码_RSA加解密源码 | 学步园
  13. VS启动项目时一个奇葩问题
  14. 再见了SpringMVC!这个框架有点厉害,甚至干掉了Servlet!
  15. 了解IHttpModule接口事件执行顺便 获取Session
  16. python爬取京东商品价格教科书中文版_基于Python爬取京东双十一商品价格曲线
  17. addr2line来定位问题
  18. Icarus Verilog
  19. 手把手教你画圆锥渐变
  20. 【IoT】产品设计:拼多多商业模式分析:互联网是商业模式的竞技场

热门文章

  1. 2. OSPF术语,邻居和NBMA环境下的邻居
  2. 光敏电阻型号怎么命名和其主要参数
  3. 设计测试用例(蘑菇街web的登录页面)
  4. 【毕业设计选题】STM32毕业设计题目推荐大全
  5. JAVA音视频解决方案----视频基础知识
  6. windows环境下安装RabbitMQ(超详细)
  7. oeasy教您玩转linux010203显示logo
  8. FTT价值评估报告 | TokenInsight
  9. c语言rand函数源码路径,C语言中的rand()函数
  10. Leetcode-1598. 文件夹操作日志搜集器