博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
游戏系统设计
阅读量:6230 次
发布时间:2019-06-21

本文共 1247 字,大约阅读时间需要 4 分钟。

一、 服务器

1、逻辑与数据分离

无状态服务

对于无状态服务, 首先说一下什么是状态, 如果一个数据需要被多个服务共享,才能完成一笔交易, 那么这个数据被称为状态, 进而依赖这个“状态”数据的服务被称为有状态服务, 反之称为无状态服务。

真实意思,就是把有状态业务改变成为状态无关的计算服务, 数据迁移到分布式缓存中存储, 让业务服务变成了一个无状态的计算节点。这样就可以做水平扩展了。动态添加与删除节点。不再需要考虑数据同步的问题了。

2、读写分离

3、服务器分层

4、分区容错 HA

 a.路由服务器组

*1, 做到AB测试,添加功能开关,策略选择灰度测试发布。

*2, 做到切片编程,(可采用类PCALL包裹类)

*3.做到AB滚服, 主备服务

*4.MYSQL冷数据落地

5.Service-Oriented游戏服务端

6.战斗等场景,玩家对象的时空穿越,agent的回归-信使

7.负载均衡,ROUTER,MAPREDUCE, NODEMGR(ZOOKEEPER), MQ,KAPHA

8.method监控与性能分析;跨界访问安全失败与缺省值机制, 支持服务降级

9.单元测度(仿go)设计

10. 变速齿轮检测,服务器可以通过一段时间内,收到前端传来的心跳数量的判断,是否加速。

11、防DDOS攻击, 开大量低价便宜的网关服务器, 很多IP很很多PORT,做为登录成功后,给随机分配一部分可以用端口。(成本对抗, 前端分级,VIP通道)

12、KCP支持高响应

13、ZK+REDIS+SERVICE(含standby)+GATEWAY(BALANCE); 可以自由扩展,自动恢复,基于无状态服务的集群服务系统

14. 消息队列, 实现异步:1.推消息 2.削峰请求

二、客户端

1、可回放与验证设计, 以帧为时间基础。

2、请求回应分离,回应统一为推送,数据驱动,仅仅是状态呈现器

 

三、双配置服务器轮起, 无缝推送更新

1、在路由层,添加服务器分组类型, 根据分组类型进行路由, 由此可以加入新版本服务器,近而实现新老服务器兼容, 实现灰度服务器并存。

 

项目开发:

1,原型迭代

 

四、发布相关

0、CI/CD持续集成与持续开发

1、是否可以根据游戏商店开区?

 

 

五、游戏设计

自生态系统。

物品模板自动生成系统。

边际受益

游戏世界(虚拟)是否应该满足人的幻想, 传播快乐, 传播爱,传播成就,

 

 

 joy (上) grief(下) admiration(仰右上) disgust(埋左下) viligence(盯左上) amazement(跳右下);rage(扯左),terror(挡右)

上下,右上,左下,左上,右下;左拉,右挡

软件设计的精髓: 分 与 抽象

层:数据层,服务层,逻辑层, 接口层, 负载均衡层

类:数据, 函数, 模块, 子系统, 区域, 接口, 消息,

 

转载于:https://www.cnblogs.com/freebird92/p/5530159.html

你可能感兴趣的文章
关于Java泛型使用的问题记录
查看>>
进入Android Dalvik虚拟机之Dalvik虚拟机的特点
查看>>
while的四种使用方式
查看>>
nginx添加几十个域名
查看>>
SpringMVC同时支持多视图(JSP,Velocity,Freemarker等)的一种思路实现
查看>>
致初入模板创作:了解各种浏览器真正的核心,测试模板兼容时就不用开这么多浏览器...
查看>>
我的友情链接
查看>>
利用rsync备份邮件系统
查看>>
java.io.Serializable浅析
查看>>
分布式计算
查看>>
FBReaderJ 的编码风格
查看>>
Yeslab 马老师 V2V环境下vCenter Server Heartbeat v6.4实现vCenter5.0的双机备份
查看>>
GO chan 编程
查看>>
CSS基础教程——纯CSS开发的气泡式提示框
查看>>
python单元测试基础举例
查看>>
iframe调用父页面javascript函数的方法
查看>>
windows休眠命令
查看>>
iOS中的UIScrollView
查看>>
程序中新建Thread部署到WebSphere中产生的问题
查看>>
vtk学习笔记 --- 显示label之vtkLabelPlacementMapper
查看>>