当前课程知识点:游戏程序设计 >  第十四章 《分布式系统设计 》 >  14.10 分布系统的关键能力 >  14.10 分布系统的关键能力

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

14.10 分布系统的关键能力在线视频

下一节:15.1 游戏人工智能综述

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

14.10 分布系统的关键能力课程教案、知识点、字幕

下面我们来看一下分布系统的能力

这块我会比较简单的过一下

因为刚才在前面很多都已经提到了

就是包括协同开发平行扩容

负载均衡容灾备份

柔性可用

这里边

我们可以看一下协同开发

但其实有提到了很多

包括说系统之间会通过协议通讯

它不直接调用函数

然后它可以并行开发独立测试

减少大家加班的时间

可以早点下班

然后呢

它的那个Bug可以相互隔离

比如说今天验收的时候说

这个好友的状态不对了

那好吧

谁负责好友吗

那就留下来就好了

其他的可以happy去了理想状态

然后还有就是各自的优化

我们就是对我们这种就是追求技术

这个极限的程序来说

我们很喜欢做优化

所以经常会说叫什么过度优化

那我们不能打击大家的积极性嘛

你不能说你这个别做优化了

没关系你放心做优化

但是因为在你自己的系统去做优化

最差就是你这个系统出问题了吧

那我们也能定位出来

别说你自己做了优化以后

然后整个进程性能弹不上去了

然后大家都不知道到底谁干的这个事情

对所以说它可以不互相影响

当然快速迭代上敏捷开发的都是

这些带来的好处

然后呢

他还有多级的负载均衡

这块其实也是很重要

然后这里我也大概点一下

因为这块在分布系统里边

它这种对用户的用户量

达到一定的程度的时候

这块有时候往往会出现瓶颈

包括我们这次线上的时候也出现了一些问题

我给大家分享下

它有一个前端的接入,它有做负载均衡

比如说

一百万的用户

我们现在的大厅就有一百多台

那么我们肯定是希望

这一百多台大厅的链接

尽可能的是均衡嘛

不能说某一些机器给撑满了

然后某些机器有撑不满

还有个问题就是你要能够做到负载均衡

也就意味着你能够动态调控他们的流量

如果你能做到动态调控它的流量

那么你就获得了一个能力

是什么呢

就是你可以线上去做热更

比如说我现在有一百多台机器

然后看一下

现在实际的在线人数相对比较低

好像自己更新一个Bug

那么我就可以通过把用户从几台机器上赶走

然后把这几台机器进行做一下更新

更新完以后在更新另外一批

对用户来说完全无感知的

但如果你没有这种前端负载均衡的能力

别想了

你就只能说

这部用户下把他强行踢下线

然后换一波

那这个玩家估计也呆不了多久

然后大厅的分配形式也是一样的

还有个世界聊天的管理吧

世界聊天

我们知道以前有什么小喇叭

大喇叭的说法

现在的话有频道切分

那这里的话你肯定也是需要说

根据这种情况吧

用户多少的玩家分配到多少机器

比如说我们认为是我们每台机器

可以支撑五千人同时聊天

然后最后实际发现

好像不需要让用户的聊天频率这么高

然后我们就把他提升到那个一万多人

甚至两万呢

那你前端如果没有

这样子的一个管理能力的话

你发现也是没办法在线做

然后还有一个就是匹配

对局房间

这里有一个可以跟大家交流一下

就是我们上线的那一天

虽然我们很快的冲到两百多万

但是其实我有几个坎

但是在三十多万的时候出现了一个问题

就是发现用户突然大量的出现

房间开不了的情况

然后呢

然后外网玩家也是

有很大的这个抱怨

然后我们去看

结果发现就是这一块出了问题

当时的这一块采用的策略是什么呢

就是说为了匹配的效果比较好

我们希望把用户

尽量地分配到一个匹配池中去处理

这样子的话可以让大家匹配效果最好

但这样一个造成的问题就是

玩家太热情的时候

你单个机器的承载预估评估不准

然后导致

这台机器处理的能力受限

它的那个大量超时

所以我们后来就线上紧急改了

把它这种分配方式改成了随机分配方式

然后来解决这样的问题

所以说

到时大家可以看到为什么会提到一个多级

就是在不同的业务场景之下

我们的负载均衡都要各自隔离才行

那只有在分布式的系统中

它才有办法做这样的隔离

才能够个体之间的负载均衡的一个策略

可以各自的进行定制化

不会相互受到影响

最后的话就是其他的各种能力了

因为这边的一些

比如说平行扩容

还有

灰度的一些部署

然后还有我们说的柔性的可用

还有这个自动部署

自动切换

这些主备部署

自动切换

这些都是分布式系统中

一些核心的能力

这边有一个特别值得一提的就是

柔性可用什么意思呢

就是

我们有时候会发现说

由于某些原因

我们可能不得不把线上的一些服务给停掉

那这个时候的话

只有把各种系统拆分了

我们才能够说屏蔽一些异常的服务

或者是因为某些原因

我们不得不停了

然后还保证我们的核心流程是正常工作的

所谓的核心流程就是登陆

然后能够开房间

能够玩对局

然后再加上一些

比如说购买之类的

然后其他一些聊天的好友吧

我们暂时都可以容忍一下嘛

就是只有做到这样子的话

才会让你的整套系统的可用性会更强

才会有一套就是更稳定的系统

然后来支撑我们这种几百万PCU

几千万DAU这样一套系统

游戏程序设计课程列表:

第一章 《游戏开发导论》

-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运维案列分析

--多选题

14.10 分布系统的关键能力笔记与讨论

也许你还感兴趣的课程:

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