当前课程知识点:游戏程序设计 >  第十八章 《运行环境和运维 》 >  18.2物理部署 >  18.2物理部署

返回《游戏程序设计》慕课在线视频课程列表

18.2物理部署在线视频

下一节:18.3系统的可运维性

返回《游戏程序设计》慕课在线视频列表

18.2物理部署课程教案、知识点、字幕

那个运行环境介绍完了就跟大家

介绍一下物理部署吧

就是所谓的物理部署就是

简单来说就是把你开发完成的可运行程序

发入到生产环境上面运行

物理部署的话其实有些比如

它包括刚才提到买了生产环境会包括软件跟硬件软件的决

策的话就

你就是你一开始就是你比如

大家接了一个刚才老师过来一个作业嘛

做一款游戏

你要考虑一下你是用哪一种

OS你是windows还是linux系列的

你需要考虑的

其实国内的话主要是linux

腾讯的话有一个基于linux

做一些那个自己的定制叫T linux

然后DB这块的话

就韩国游戏会有比较多用windows

然后DB这块的话

像sql类型的比较多 像mysql

然后现在手游时代其实大家用nosql

就是成本更低性价比更高嘛

大家有用过吗就是这些DB

或者有了解过吗

redis有没有人有用过是吧

用在什么方面然后

我是redis一个版本的开发者

Redis现在支持那种分布式的了嘛

就是我维护一个那个就是那个

…………比较特殊吧

然后就是硬件方面

就是你要选好你用什么机器去

跑你这个程序

关注的层面其实跟大家是吧

平时去配台电脑其实也差不多

去关注的点

比如你的CPU

你要配一个机器专门玩游戏你可能要

CPU

显卡要好一点内存多一点

一般的话

服务器的话不太考虑显卡

因为它不需要显示嘛

这边的话是一个比较典型的就是

互联网产品的架构分三层

接入层

接触层会连接客户端

然后中间是你的逻辑层

然后你的数据的落地是在DB层

每一层关注的其实关注的点是不一样的

就比如说如果是你DB层在机器你会考虑

它的IO就你要考虑磁盘

一般现在然后现在ssd用的比较多

如果性能更好一点

把数据就多放些内存嘛就是

你内存多一点你的性能会好一点

然后你的逻辑服务器就是刚才

会直接耗CPU跟内存有的可能会

就是你要去做很多运算

然后接入层的话

你主要因为是一个流量的进出口

而且很多东西是需要去广播的因为特别是

多人在线的游戏

它很多数据是需要广播

就所有人都要看到嘛

所以你要关注你的网卡

反正你转发的话也是需要耗CPU的

你选好机器之后你的硬件你都选好之后

下面就是

你去设计你物理部署

你的做设计其实目标

其实我们目标也比较简单

你要去部署合理数量的机器

保证用户持续流畅的体验

其实本质问题其实就两个

你要用多少机器

然后你的机器在哪里是如何分布

这里给那个大家举一个例子就是

假如你做了一款很牛逼的产品

然后你预计它的同时在线

能到1000万

比如说做一款moba

需要多少机器

什么量级的吧

可能具体多少也不好不好预估

大家觉得是什么量级的一个机器需要

几千台是吧

是差不多像王者的话

现在大概因为它最高上线会去到

一千万以上吧它其实也差不多

就这个量级五六千台吧

主要跟你的游戏类型有关

如果你是比较简单一点的你的承载会更高

其实是有一一个估算的步骤的

就是你先去预估一下

你会有多少用户就是你要

你去估一下你有多少那个

用户来玩你的游戏

包括你的总注册量还有你的

并发读写

还有同时在线的数量

最后的话你可以通过压力测试去

得出一个你单击的承载数量

这个其实也是一个预估

然后最后你要考虑你的容灾

需要用多少机器来做备份

然后你就可以得出这样一个公式

绿色字的话对应的就是你的

比如

注册数量以及你的并发读写量

你预估好了你就能决定你用多少台DB

然后你的同时最高在线的话

其实就决定你逻辑层

要用多少机器

然后你加起来包括接入层的

你就大概能知道你是一个

什么样的量级

不至于那个太浪费

还第二点就是说

机器在哪里的问题就是你预估好你的机器

比如你要用几千台

你的机器分布在哪里怎么放

你要去考虑的问题

其实主要你还是要考虑这两点

就是你的这款产品你是在

国内发行

还是说想全球发行

你要去考虑这个问题

然后机器在哪里的问题你主要就是

你要考虑

你的这款产品对延时的容忍

就是你的这款产品就是pin值我们觉得

可以认为就是pin值就是你

发一个包出去回来这个包

多久你这款产品能够容忍

每一种游戏的那个是不一样的

但是你像刚才那个上一个老师提到的这种MMRPG

容忍可能会高一点

因为它更多的这种技能都是站着打嘛

然后如果是moba的这种类型

特别是你如果用了帧同步

你的容忍是

不高的

大家觉得是这个值大概会在多少

就是你的网络情况

你的pin值差到多少时候你觉得

他在玩王者的时候玩不下去

你们平时有没有注意这个

100以上就玩不下去

三百玩吃鸡可以

但是玩王者可能会有一些卡

王者我了解到他们的数据应该是

一百多一点以下吧

150毫秒以下他们认为是

可以流畅体验的

像吃鸡的话

可能300毫秒还可以流畅体验

因为它更多是那种远距离的攻击

你一枪打过来是吧我可能都看不到人

是吧

你像王者你一个技能特别是

它那种有一些轨迹的

你发出去以后有没有打到人你服务器

跟另一个客户端之间的数据的一致性

你那个差距其实高手是

是很在意这个的

还有一个就是你要考虑公平

考虑公平就像上一次那个亚运会

在那个雅加达

就aov王者的海外版不是

作为那个亚运会的一个项目嘛

你这个时候我们就得去

当时是去他们当地部署

服务器

你要保证大家的就是那个延时是差不多

要不然它觉得不公平

然后你最后要考虑的就是你的IDC资源

就是你不是想放哪里就放哪里的

你要考虑你的

有没有资源可以用就是

可能有的你想放的地方它的那个

机器都被占满了

这种情况也要考虑

有一个参考方案吧

就是我们现在腾讯内部部比较通用的

一种做法

就是如果你是国内发行

我们一般会部署在

同一个地方比如现在上海的资源比较多

我们都会放在上海

但是放在上海的话也有些问题

就是比如我在新疆或者西藏

那边我网络不是很好

我们会给这些用户提供一些加速的服务

然后你如果是国际发行的话你这个

因为

其实我们在内地我们在网络是比较好的

大家不知道有没有出过国

就是现在大多数的国家的网络情况

其实比我们要差的

比我们要差

除了欧美韩国这些地方

可能跟我们差不多韩国应该是比我们要好

你就要去考虑做多IDC的一个分布

然后去让他们就近接入

就是我在当地去部署一些服务器

那就是国内国内版的一个部署图吧

现在国内的一个部署的情况的话

我们所有的机器都是在上海

然后这里的意思的话

其实也是做了一个加速的

功能吧

其实比较简单我解释一下就大概

比如你在这边有一个用户

它从这条路过来在上海

红的比较堵

比如一条高速公路一样的比较堵

然后我们会有一套系统它会实时反馈

整个网络的一个情况

然后它给他基能调度让它走这边过去

来降低它的一个延时其实基本原理就是这样

但实际上

是比这个要复杂很多的

这是一款就是也是类似吃鸡我们现在

可以把它看成吃鸡吧我觉得

那些可能玩吃鸡比较多然后

这边的话其实吃鸡大家玩吃鸡的时候

其实主要也就是

先连大厅是吧

先连大厅然后去匹配其实你大部分的时间

我们这里其实有一个战斗集群

然后这里有一组大厅吧

大厅你的大厅服务吧我觉得就

就叫大厅服务吧

大厅集群

然后这是你的客户端

你首先登录上来你会去这里

去大厅里面大厅里面

一般你就会开始匹配匹配的话

这边就会开始后台有些服务器

后面还有些服务

然后你会他会分配一个

分配一台就是战斗的服务器局内

就是进入局内

一般会按照你的网络的情况如果是

国内的话国内版本的话

基本这个时候就是按照你的

你的等级你的能力值跟你去匹配

但是如果你这个是一个全球版本的话

我们优先的话会选离你近的

你的pin值你的网络测速比较好的

好的那个服务器给你

比如你客户端

我们在

我们在北京是吧

然后这边

或者是香港有一台服务器

然后这边是

北美有一台服务器

还有其他的吧好像

我们的话应该你这样的话

你肯定就会去分配

分配香港边的服务器给你

大概就是这个意思吧就是

主要是那个

考虑延时的问题

以及网络情况

国际版本

如果你是一个全球化的国际板的部署

比如现在我们

你拿吃鸡举例吧我吃鸡也是发了海外的

就是

Pubgm它现在也是全球发行的

它是这么部署的

它的就刚才提到的大厅服务都是

在美国的硅谷

然后它的战斗集群的话它就

分了很多

在欧洲北美

亚洲南美

各个地区都有

然后你北美的用户你肯定优先去

去连北美的服务器了

讲到这样的话就前面两点都讲完了就是

你要用多少机器你机器的部分不大家

都了解了然后我们接下来就是你怎么去

持续运营的问题就你已经上线运营了

可以上线运营了你怎么去持续运营

一款产品

你不可能

一上线就下线是吧

你还是想去持续的运营它

我不知道

游戏程序设计课程列表:

第一章 《游戏开发导论》

-1. 1什么是游戏(上)

--1.1 什么是游戏(上)

--选择题

-1.2 什么是游戏(下)

--1.2 什么是游戏(下)

--选择题

-1.3 游戏是如何开发出来的

--1.3 游戏是如何开发出来的

-1.4 游戏引擎(上)

--1.4 游戏引擎(上)

-1.5 游戏引擎(下)

--1.5 游戏引擎(下)

--单选题

-1.6 如何成为一个游戏开发者

--1.6 如何成为一个游戏开发者

--多选题

第二章 《游戏服务器概述 》

-2.1 什么是游戏服务器

--2.1 什么是游戏服务器

--单选题

-2.2 游戏服务器的和分类发展

--2.2 游戏服务器的和分类发展

--单选题

-2.3 核心技术和实现难点

--2.3 核心技术和实现难点

--单选题

-2.4 设计原理与方法论

--2.4 设计原理与方法论

--单选题

第三章 《《三维几何学基础》 》

-3.1 三维坐标系统

--3.1 三维坐标系统

--多选题

-3.2 向量与运算

--3.2 向量与运算

--单选题

-3.3 矩阵与线性变换

--3.3 矩阵与线性变换

--双选题

-3.4 四元数

--3.4 四元数

--多选题

第四章 《游戏循环及实时模拟》

-4.1 游戏循环概述(上)

--4.1 游戏循环概述(上)

--多选题

-4.2 游戏循环概述(下)

--4.2 游戏循环概述(下)

--单选题

-4.3 《无尽之路》的实现

--4.3 《无尽之路》的实现

--单选题

-4.4 支撑游戏的功能

--4.4 支撑游戏的功能

--选择题

-4.5 支撑游戏的机制与系统

--4.5 支撑游戏的机制与系统

--多选题

第五章 《随机数在游戏中的应用》

-5.1 基本介绍

--5.1 基本介绍

--单选题

-5.2 随机数生成器

--5.2 随机数生成器

--单选题

-5.3 随机数分布与应用

--5.3 随机数分布与应用

--单选题

第六章 《游戏性系统》

-6.1 什么是游戏玩法开发

--6.1 什么是游戏玩法开发

--单选题

-6.2 建立愿景 Vision

--6.2 建立愿景 Vision

--单选题

-6.3 划定边界 Scope

--6.3 划定边界 Scope

-6.4 迭代 Iteration

--6.4 迭代 Iteration

--单选题

-6.5 迭代 Iteration+抛光Polish

--6.5 迭代 Iteration+抛光Polish

--单选题

第七章 《实时图形渲染管道》

-7.1实时图形渲染管道 宏观渲染系统

--7.1实时图形渲染管道 宏观渲染系统

--单选题

-7.2实时图形渲染管道 应用阶段

--7.2实时图形渲染管道 应用阶段

--单选题

-7.3实时图形渲染管道 几何阶段

--7.3实时图形渲染管道 几何阶段

--单选题

-7.4实时图形渲染管道 光栅化阶段

--7.4实时图形渲染管道 光栅化阶段

--单选题

-7.5实时图形渲染管道 总结 参考

--7.5实时图形渲染管道 总结 参考

第八章 《材质着色与光照》

-8.1 物理回顾1

--8.1 物理回顾1

--单选题

-8.2 物理回顾2

--8.2 物理回顾2

--单选题

-8.3 材质 1

--8.3 材质 1

-8.4 材质 2

--8.4 材质 2

-8.5 材质3

--8.5 材质3

-8.6局部光照

--8.6局部光照

--单选题

-8.7 全局光照

--8.7 全局光照

--单选题

第九章 《游戏动画》

-9.1 动画介绍

--9.1 动画介绍

--多选题

-9.2 游戏动画介绍

--9.2 游戏动画介绍

-9.3 动画技术类型

--9.3 动画技术类型

--多选题

-9.4 骨骼蒙皮动画

--9.4 骨骼蒙皮动画

--多选题

-9.5 动画流水线

--9.5 动画流水线

--多选题

-9.6 动画前沿趋势

--9.6 动画前沿趋势

--多选题

第十章 《网络同步技术》

-10.1 .基本概念

--10.1 .基本概念

--多选题

-10.2 设计目标

--10.2 设计目标

--多选题

-10.3 传输数据分析

--10.3 传输数据分析

--多选题

-10.4 常用同步方案 1

--10.4 常用同步方案 1

-10.4 常用同步方案 2

--10.4 常用同步方案 2

-10.4 常用同步方案 3

--10.4 常用同步方案 3

-10.4 常用同步方案 4

--10.4 常用同步方案 4

--多选题

-10.5 方案对比

--10.5 方案对比

--多选题

第十一章 《游戏常用几何学》

-11.1 基本图元

--11.1 基本图元

--单选题

-11.2 图元距离(上)

--11.2 图元距离(上)

--单选题

-11.2 图元距离(下)

--11.2 图元距离(下)

--单选题

-11.3 图元相交测试+ 其他几何方法

--11.3 图元相交测试+ 其他几何方法

--单选题

第十二章 《游戏物理模拟》

-12.1 著名物理引擎介绍

--12.1 著名物理引擎介绍

--单选题

-12.2 物理引擎原理(上)

--12.2 物理引擎原理(上)

--单选题

-12.3 物理引擎原理(下)

--12.3 物理引擎原理(下)

--单选题

-12.4 游戏中的物理体

--12.4 游戏中的物理体

--单选题

-12.5 物理引擎使用入门

--12.5 物理引擎使用入门

--单选题

第十三章 《开发工具 》

-13.1开发语言

--13.1开发语言

--单选题

-13.2 开发环境

--13.2 开发环境

--单选题

-13.3 腾讯开发组件介绍

--13.3 腾讯开发组件介绍

--单选题

-13.4 网络通信+业务框架介绍

--13.4 网络通信+业务框架介绍

--多选题

第十四章 《分布式系统设计 》

-14.1 进程间通信(上)

--14.1 进程间通信(上)

-14.2 进程间通信(下)

--14.2 进程间通信(下)

-14.3 通信格式

--14.3 通信格式

-14.4 并发模型

--14.4 并发模型

-14.5 超时处理

--14.5 超时处理

-14.6 大系统小做(上)

--14.6 大系统小做(上)

--多选题

-14.7 大系统小做(下)

--14.7 大系统小做(下)

-14.8 架构层面的技术支持(上)

--14.8 架构层面的技术支持(上)

--单选题

-14.9 架构层面的技术支持(下)

--14.9 架构层面的技术支持(下)

-14.10 分布系统的关键能力

--14.10 分布系统的关键能力

--多选题

第十五章 《游戏人工智能》

-15.1 游戏人工智能综述

--15.1 游戏人工智能综述

-15.2 人工智能在游戏中主要方法 上

--15.2 人工智能在游戏中主要方法 上

--多选题

-15.3人工智能在游戏中主要方法 (下)

--15.3人工智能在游戏中主要方法 (下)

-15.4 人工智能在游戏制作中的应用领域1

--15.4 人工智能在游戏制作中的应用领域1

--多选题

-15.5 人工智能在游戏制作中的应用领域2

--15.5 人工智能在游戏制作中的应用领域2

-15.6 人工智能在游戏制作中的应用领域3

--15.6 人工智能在游戏制作中的应用领域3

--多选题

-15.7 人工智能在游戏运营中的应用实践(上)

--15.7 人工智能在游戏运营中的应用实践(上)

-15.8 人工智能在游戏运营中的应用实践(下)

--15.8 人工智能在游戏运营中的应用实践(下)

--多选题

第十六章 《游戏支撑系统 》

-16.1 游戏支撑系统(1)

--16.1 游戏支撑系统(1)

--单选题

-16.2 游戏支撑系统(2)

--16.2 游戏支撑系统(2)

--单选题

-16.3 游戏支撑系统(3)

--16.3 游戏支撑系统(3)

--单选题

-16.4 游戏支撑系统(4)

--16.4 游戏支撑系统(4)

--单选题

-16.5 游戏支撑系统(5)

--16.5 游戏支撑系统(5)

第十七章 《游戏逻辑服务器和反外挂》

-17.1 游戏逻辑服务器(上)

--17.1 游戏逻辑服务器(上)

--单选题

-17.1 游戏逻辑服务器(下)

--17.1 游戏逻辑服务器(下)

-17.2 外挂与反外挂(上)

--17.2 外挂与反外挂(上)

-17.2 外挂与反外挂(下)

--17.2 外挂与反外挂(下)

--多选题

第十八章 《运行环境和运维 》

-18.1运行环境

--18.1运行环境

--多选题

-18.2物理部署

--18.2物理部署

--多选题

-18.3系统的可运维性

--18.3系统的可运维性

--多选题

-18.4运维案列分析

--18.4运维案列分析

--多选题

18.2物理部署笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。