游戏服务器架构和web服务器架构的区别?

游戏服务器架构和web服务器架构的区别?,第1张

1-技术有什么区别

首先通信上目前的主流是HTTP协议和SOCKET这两种(HTML5提供了一种新的协议,WebScoket,对此了解并不多,因此不做评论,以免误导)。

HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

(注:在HTTP 11中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。)

Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。

以J2SDK-13为例,Socket和ServerSocket类库位于http://javanet包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。(摘自百科)

在WEB服务器中,一般情况是只需要使用HTTP协议的。因为它不太需要去与浏览器进行主动推送,只需要响应浏览器的访问就足够了

而在游戏服务器,这样的连接方式肯定是不够用的。很多时候游戏服务器是需要主动推送消息,如系统广播。

2-思维有什么区别

WEB服务器并不需要高频即时通讯,对响应速度要求不高。而游戏服务器,大多数是需要很及时的响应速度(暂不讨论弱联网游戏)。如DOTA,这种竞技类型的游戏,1秒就能发生很多事。

因此,在思考方向上,WEB服务器应该考虑是的多平台的兼容,大量用户访问的高并发。

而游戏服务器应该考虑的是高频通讯,高并发。

3-架构的侧重点有什么区别

在架构上面,一般访问量不是很大的网站是只有一台服务器的,访问量高的才会进行分布式设计或者集群设计。

而大部分游戏服务器都是需要分布式设计的。

在现有的网络游戏服务器端架构中,多是以功能和场景来划分服务器结构的。具体的划分是根据项目的需求进行的,并没有一个十分通用的架构。

以上是比较常见的结构,客户端登录的时候,连接GateServer,然后由GateServer去连接LoginServer进行登录。登录后通过CenterServer转发到GameServer(GameServer即是服务器大区)。

而其中的DCServer,主要的功能是缓存玩家角色数据,保证角色数据能快速的读取和保存。

LogServer便是保存日志的了。

4-本质有无区别

本质上,两者并无区别,只是需求不同,侧重点不同罢了。

这篇文章算是应邀而作的科普文。

科普文有科普文的压力,才疏学浅,生怕误人,不敢动笔。但是拖延症是不好的,拖延久了,就好像云网端架构里,如果两个节点(Node)之前的通信延迟很高,那是要不得的——问你话呢,半天不回答是咋回事?不爱了吗?

“云网端架构”,乍听有点拗口,我理解的就是云原生(Cloud Native)架构。我读科普文,最怕一串又一串新名词冒出来。所谓云原生,就理解成“云”+“原生”,这就没有生词啦。云,是天上的云,云上面“承载”了我们所有美好的回忆。原生,原生家庭嘛,云就是原生家庭。这样的架构有什么特点呢?对普通人来说,互联网的架构比较务虚,我拿物联网的举个实在点的例子。

文字解读一下。我在上海,我卧室里的垃圾桶会自动垃圾分类,但是需要联网,一直连着服务器。我可以通过手机修改垃圾桶的分类规则。我手机打开某个app,先联4G网,基站帮我传信号,app登录到服务器,登的是上海机房的服务器。服务器帮我找到这个垃圾桶,告诉它,弹簧是可回收垃圾,嗯。后来我去了多伦多,刚下飞机突然想看看垃圾桶是不是已经塞满了,同样打开app,联网,因为这个app在北美有业务,在多伦多建了机房,所以直连多伦多机房的服务器,但是垃圾桶还是在上海呀,光信号从北美到东亚,垃圾桶慢悠悠地露出它空荡荡的肚子,我终于放下心来。

真实的架构不一定是这样子,里面有太多的技术细节。但是这个案例是一个很real的场景。

我们的诗人,喜堆砌意象。在上图中也有这么几个意象:

他们的关系大致是: 人通过手机控制垃圾桶,控制信号经由服务器处理,基站传输。

黄晓庆的达闼机器人,提出了“云端机器人”的理念。其实用我这个图修修补补,也能凑合凑合,大部分意象没有改变:

他们的关系大致是: 人与机器人进行直接交互,机器人的行为由服务器控制,服务器下发的控制信号经由基站传输。

一般人讲这样的架构,不会提到基站。但是我感觉 无名英雄应该有名字 。大家知道声速不过几百米每秒(超音速也就那么一回事呀),如果光靠吼的,坏事传千里也太慢了,大家都不会知道皮几万的故事了。而且碰见真空还会歇菜。

面对面沟通效率高,无非几点:

“云端机器人”的核心要义,其中之一就是: 4G网络的速度,已经够快 。也就是说,我跟机器人说的话,机器人傀儡后面真正的主人,也就是服务器,几乎没有延迟地听到了,就好像它在我面前一样。这个要义的实现,除了4G网络标准及其设备本身足够优秀以外,TCP/IP为代表的网络协议栈,也发挥了至关重要的作用——人话就是,这是大伙儿齐心协力的结果。

那么下一个要义就是,服务器的处理速度要够快,不能像个傻子一样,回答问题慢吞吞的。说到这里,想起最近看一个纪录片,讲棋圣聂卫平,晚年去监狱做公益活动,和一群狱友下棋——一人同时对几十人。可惜聂卫平后来身体抱恙,没能下完所有的局。这个下棋的场景,和服务器运转几乎一模一样。我们普通人就是狱友,棋盘对面是机器人,我们每落一子,机器人把棋局发给聂卫平,聂卫平略一思忖,马上给出落子方案,机器人帮忙落子。聂卫平的挑战就是,处理几十上百的并发请求——说是并发,其实仍然是分片,对聂卫平思考时间的分片。

好了,至此已觉该述已述,该去洗漱。

网络架构是进行通信连接的一种网络结构。

网络架构是为设计、构建和管理一个通信网络提供一个构架和技术基础的蓝图。网络构架定义了数据网络通信系统的每个方面,包括但不限于用户使用的接口类型、使用的网络协议和可能使用的网络布线的类型。

网络架构典型的有一个分层结构。分层是一种现代的网络设计原理,它将通信任务划分成很多更小的部分,每个部分完成一个特定的子任务和用小数量良好定义的方式与其它部分相结合。

扩展资料:

使用网络架构注意事项:

1、动态多路径

能够通过多个WAN链路对流量进行负载均衡并不是一项新功能。但是,在传统的WAN中,此功能很难配置,并且通常以静态方式将流量分配给给定的WAN链路。即使面对诸如拥塞链路之类的负面拥塞,也不能改变给定WAN链路的流量分配。

2、应用程序级别

如果应用程序的性能开始下降,因为该应用程序使用的托管虚拟化网络功能(VNF)的物理服务器的CPU利用率过高,则VNF可能会移动到利用率较低的服务器中。

3、能见度

有许多工具声称可以为网络组织提供对传统WAN的完全可见性,以便解决与网络和/或应用程序性能相关的问题。但是,无论是这些工具的缺陷还是网络组织使用的故障排除流程,采用新的WAN架构将使故障排除任务变得更加复杂。

:LTE网络架构

服务器是一个实体计算机。你可以花钱购买一个实体服务器,然后通过电信等网络提供商架构一个光纤,然后购买然后游戏服务器程序设置好,那么你的游戏服务器就架构好了。

另外,常见的而且省钱的方式是租用

服务器空间(其实就是服务器上硬盘的一部分空间而已),他们已经把上面这个服务器架构好了,然后把服务器的空间分成很多份,分别卖给不同的人,这样,买空间的人省钱了,他们也可以赚更多的钱,可以用这些空间做网站

做游戏服务器空间都可以。

具体的你可以联系当地的电信部门就好了。也可以上这里看看

:wwwonlyidccom/hire/gameshtml

CS架构是指服务器-客户机。

服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。

客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作。服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。

扩展资料:

发展历程

两层结构由两部分构成:前端是客户机,主要完成用户界面显示,接受数据输入,校验数据有效性,向后台数据库发请求,接受返回结果,处理应用逻辑;后端是服务器,运行DBMS,提供数据库的查询和管理。

两层结构存在一些不足:主要表现在:系统的可伸缩性差;难以和其它系统进行互操作;难以支持多个异构数据库;客户端程序和服务器端DBMS交互频繁,网络通讯量大;所有客户机都需要安装、配置数据库客户端软件,这是一件十分庞杂的工作,等。

基于二层结构的以上不足,三层结构伴随着中间件技术的成熟而兴起。其核心概念是利用中间件将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次。

1、简单说client直接访问DBserver为两层结构。

client通过中间件等应用服务器访问DBserver为三层结构。

三层结构比两层结构安全。

2、可以这样理解:客户端程序访问服务器的结构叫两层结构。中间加一个事务逻辑处理封装的中间件作为沟通就是三层结构,这样可以均衡数据负载!

3、拷贝一些基础知识你看一下。(没有)

附:相关知识

现代社会的软件开发体系结构简单概括就是N层体系结构,这里的N大于等于1。换而言之就是:单机体系(N=1)、Client/Server结构体系(N=2)、多层体系结构(N>2)。下面我们就对这几种体系结构进行简单的介绍和比较。

单机体系:这种软件适用于单机状态,一般情况下是针对某一种单一的应用,如字典软件、翻译软件等等。这种开发方式不适用于综合管理系统的开发。

C/S结构:c/s结构是在局域网上发展起来的,它具有数据集中管理的能力,在出现之初确实解决了很多计算机发展的难题,同时随着4GL语言的发展,用户的界面也比较丰富,在CLIENT端的事物处理能力也使整个系统的性能得到全面的提高,并使管理信息系统(MIS:Management Information System)得到快速的发展。其大概的图例见图1。

我们根据两层结构体系的概念来分解C/S结构的话,可以将他分为表现层(也叫表达层)和数据层。数据层提供数据存放的载体,而表现层则通过一定技术将数据层中数据取出,进行一定的分析并以某一种格式向用户进行显示。在两层体系结构中,表现层对数据库进行直接操作,且大部分的商业处理逻辑(Business Logic,数据之间的关系规则)也在表现层中实现.

图1:Client/Server 体系结构示例

三层体系结构:三层体系结构是N层体系结构的典型,所谓的三层体系结构就是将原来在两层体系结构中的商业逻辑部分从数据层和表现层中提炼出来,形成中间件服务器,所以三层就是:表现层、商业逻辑层(Business Logic)、数据层。在此之外,还有一种系统结构就是分布式系统,其结构系统图见图2。

图2:分布式系统的结构示意图

在分布式系统中,其介于客户端和数据端之间的仅仅是一个应用服务器,它管理客户端的软件,但不做性能调整,比如每一个客户端调用时均产生一个新的数据库连接,而不能够将连接保持形成一个连接缓冲池。虽然在分布式应用中已经结合了一些商业处理逻辑,但是并没有真正改变原来的C/S体系结构。

在三层体系结构中,表现层将主要提供与客户的交互功能,数据层提供系统中的所有的数据保存载体,而商业逻辑层将整个系统中的商业处理逻辑整和在一起,形成中间件,在三层中。中间件起了承前启后的作用,表现层将客户端的请求通过IDL调用中间件,中间件在将其转化成数据处理原则,并从数据库中获得相应的数据,返回给客户端的软件,转换成客户要求的方式显示。关于三层体系结构的示意图见图3。

图3:三层体系结构示意图

我们已经简单的介绍了C/S结构和三层体系结构,有关的优点已经昭然若揭,为了更好的让您了解两者的区别,我们将两者进行一些比较。

C/S结构的缺点:

缺乏有效的集权控制:在众多的C/S软件中我们不难看出,所有的构件不能够在一个地点(如一台机器)进行统一的管理,而不得不将他们分化在各个CLIENT的应用中,使得维护和安全保密均很困难。

缺乏安全性:在分散的计算机系统中,控制信息的访问安全是非常困难的,由于客户端经常需要对一些敏感的数据进行分析导致安全漏洞很容易发生。

客户端工作量重:当将一个应用中的所有的商业逻辑全部在各个客户端来实现的时候,仅仅是使用桌面电脑的客户端资源将发生不堪负载的情况。

软件的重用性差:由于C/S结构下的应用软件一般均是根据操作系统进行定制,且开发工具也是有一定的限定,一旦需要改变某一个要素的话,很可能只能重做,例如原来用C语言来开发,现在需要转向PB进行开发,那么,原来的所有工作都需要重新来过。

随着应用的不断复杂,桌面电脑将需要不断的升级以适应系统的性能需求,甚至有时侯会完全超出桌面系统能够承受的限度。例如:诸如多线程和对称多重处理技术等先进操作系统的特性可能不能在标准桌面电脑系统中提供,不通过访问具有这些技术的服务器,客户端的桌面系统将可能永远不能获得这些新的技术的性能。

针对这些问题,三层体系结构给予了很好的解决方案。

在三层体系结构中,提供在客户端和服务器端进行应用功能的分割,系统通过应用将用户定义的界面系统从商业处理逻辑中分割出去。通过将商业处理逻辑集中在中间件服务器中,将能够减小客户端的工作量并使敏感数据访问控制变得简单。

在三层结构中,客户端将与服务器端的数据变化隔离,简单的说,商业处理逻辑不受客户端的用户界面的改变而影响。三层体系中有一个非常重要的特性就是系统具有良好的组件重用性,例如在PB中开发的组件,可以在VC中进行使用。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 游戏服务器架构和web服务器架构的区别?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情