单机游戏线上服务器和网络游戏服务器的区别是什么?_百度知道作者 : known
主题 : 联想公司欲在服务器市场中分一杯羹
联想公司给人的第一印象就是它的ThinkPad系列笔记本电脑产品,但是目前它也正在扩展其企业级服务器和存储产品。联想公司的第一台服务器于2008年问世,其主要目标客户是中小型企业,而在今年该公司成立了企业产品集团,由此公司对大型企业客户的雄心可见一斑。
联想公司的企业路线与戴尔公司类似,他们与存储厂商EMC的合作关系是扩大企业级产品的关键。联想公司和EMC公司于去年成立了一家存储产品的联合公司,取名为LenovoEMC.同时,联想公司的服务器产品也正被用于云计算部署和数据库应用程序。其服务器产品可提供裸机系统,也可以使用虚拟工具和管理软件进行定制。
联想公司的目标客户是那些不希望受制于某一“特定厂商解决方案堆栈”的企业,公司的企业产品集团产品营销副总裁Darrel Ward说。
服务器是联想公司的一个新的转折点
联想公司在个人电脑领域有着良好的记录,但是公司在服务器市场还只能算是新兵一名,所以客户们不得不采取谨慎的态度,Pund-IT的首席分析师Charles King说。
“无论一家企业在某一领域已经做得多么出色,但那也无法确保他们在其他的领域也能够表现得同样优秀。对于客户而言,带着问题接近公司是非常重要的,”King说。
联想公司还需要填补一些产品漏洞以满足数据中心客户由上至下的需求,Moor Insights and Strategy公司的首席分析师Patrick Moorhead说。
“联想公司并没有提供刀片服务器、网络设备、融合基础设施,而存储设备则是EMC公司的产品,”Moorhead说。“如需媲美三巨头,联想公司还需要这些方面多加努力,”三巨头指IBM公司、惠普公司和戴尔公司。
为什么联想公司能够选择服务器产品作为突破口
联想服务器的定价是较为合理的,它为用户提供了软硬件灵活性。而这恰恰满足了一家律师事务所老板的采购标准,他目前已拥有了多台联想服务器以运行数据库、电子邮件和后台应用程序。
“我一直在寻找一台裸机服务器,它没有***操作系统或其他预***的应用程序,”一名要求匿名的用户说。“与此同时,联想公司还是为新的和旧的操作系统提供了驱动程序。”
大型企业和小型企业都在为内部定制而采购裸机服务器。如Facebook和谷歌这样的网络巨头都在设计他们自己的服务器,他们会从第三方制造商处购买。
联想公司的企业部门有一个唯小型企业的思维定式,他们往往更多地重视用户的需求而不是大型竞争对手的,商业技术研究(TBR)的首席分析师Ezra Gottheil说。在IT管理员之间交口称赞的ThinkPad良好声誉也为其加分不少。
“ThinkPad客户也是联想服务器的潜在客户;他们已经通过ThinkPad产品了解了联想公司以及公司是如何做生意的,”Gottheil说。
联想公司在中国大本营的强大供应链也为其提供了超越它的美国竞争对手的极大优势。但是,联想公司是否能够将其PC业务的成功在其企业级产品中再次复现仍有待于观察。以前的游戏都是一个服务器,然后分好几条线,魔兽要是这样会怎么样?
拍卖行货物充足,可以满足现鬼服的玩家的日常需求~主城人多,可以营造热闹的气氛~野外人多,促进联盟部落的互动~足够多的“线”,保证了不会卡~可以随时切换线~存在的问题:名字重复,每个人名字都给一个编码,像梦幻西游那样~楼下补充~
感觉有种奇迹的即视感
这个和跨服有区别么?跨服就当换线
你去安苏好了
楼主这么一说 想起了以前玩石器时代
每个线有不同的主题
在一起很热闹
我本来也想支持这样的改动,但是马上发现一个问题,刷稀有怎么办?所有线挨个切?腾讯游戏 服务器分电信 、网通这是什么意思?_百度知道游戏服务器与普通服务器有什么区别?
相比于我们常见的数据中心的普通web服务器,游戏服务器(如英雄联盟,魔兽世界)有什么特别的地方?
一般的网站应用程序,是典型的Request-Response模式,通过tcp和服务器建立一次链接,而请求数据和影响数据通过http协议进行组装,当完成一次交互的时候,服务器端和客户端tcp链接就会释放,把服务器端socket资源留给新的客户端。通常web程序是比较好扩展的,通过硬件负载均衡和添加web服务器来实现,这一套方案业界都已经比较成熟了。网游比较特殊,最大的特点在于客户端和服务器端是要进行长连接的,客户端和服务器端基本上一直要保持连接,不是典型的Request-Response模式,Client会主动给Server发送数据,Server也可能主动往Client发送数据,生命周期比较长,一次发送的数据量比较小,但是数据交互发送比较频繁。由于要进行长连接,服务器端的socket就不能进行复用,单台服务器处理请求是会有限。用web的方案解决扩展问题,也不太适用。在web程序中,客户端之间的数据是没有交互的,所有的数据都是通过web服务器响应给客户端,但是网游服务器中,每个客户端的数据的变化,都要通过服务器端广播给其他客户端。所以客户端会有上限,这也就是为什么服务器要进行分区,一个区里面同时在线人数会有限制。
实名赞同 的回答补充一个资料: MMORPG不同于其它的局域网的网络游戏,它是一个面向整个Internet的连接人数过万的网络游戏,因此他的服务器端设计则极为重要服务器的基本设置 在大型网络游戏里,通常设计为C/S结构,客户端不再对数据进行逻辑处理,而只是一个收发装置,从玩家那里接受到操作信息,然后反馈给服务器,再由服务器进行处理后发回客户端,经客户端通过图形化处理,给玩家呈现出一个缤纷的游戏世界。 登陆服务器 在这里也可以称之为连接服务器,网络游戏的客户端一般是连接到这里,然后再由该连接服务器根据不同的需要,把游戏消息转发给其它相应的服务器(逻辑和地图服务器)也因为它是客户端直接连接的对象,它同时也负担了验证客户身份的工作。 地图服务器 在这里也可以称之为连续事件服务器。在这个服务器里要处理的对象(玩家)所做的动作都是一个连续事件。例如玩家从A点移动到B点,这样一个动作,需要一定的时间进行移动,因此说移动是一个连续事件。 逻辑服务器 在这里可以称之为瞬时事件服务器,在这个服务器里,处理对象(玩家)所做的动作均可以在非常断时间内完成完成。例如玩家从商店购买一瓶药书,当玩家确认购买后,服务器先扣除玩家的游戏币,然后再把相应的药水瓶加入玩家的背包里。这2个操作对于服务器来说,只是2个数字的加减,计算完这两个数字的加减,这个事件就可以结束了。因此,我们可以说这个事件是一个瞬时事件服务器组的改进 不过在实际应用的过程中,游戏服务器的结构要比上面所说的3种服务结构要复杂些,不过也都是在这3种最基本的服务器架构下进行扩充,扩充的主要是其它辅助功能。在实际应用里可能增加的2种服务器,数据库服务器,计费服务器,由逻辑服务器独立出来的聊天服务器。 数据库服务器 数据库服务器其实就是专门利用一台服务器进行数据库的读写操作。这点特别是在大型的网络游戏里尤为重要。因为在大型网络游戏里,要处理玩家的数据量非常大,如果不利用专门的服务器进行处理,很有可能会拖累这个服务器组。 计费服务器 通常在商业的网络游戏里出现,用于记录玩家在线的时间,给收费提供依据,同时也是整个服务器组里最重要的部分,一旦出现问题,运营商就不用赚钱了。 聊天服务器 在游戏里的聊天功能是属于一种瞬时动作,理论上是放在逻辑服务器里进行处理。不过在大型网络游戏里,因为这个部分功能与游戏里的其它部分联系并不紧密,因此可以独立出来做一个功能服务器。服务器的集群设置 在大型游戏的应用过程中,实际需要处理的玩家数量可能过万,一台普通的服务器是无法完成所要完成的工作,因此,在实际应用的时候,通常是由一组多台服务器共同完成一个功能。 例如地图服务器,可以根据需要,把游戏里所有的地域进行划分,划分为N个区域,然后让这一个区域里发生的事件都用一个特定的服务器进行处理。这样做的目的是减少一个服务器所承担的计算量,把整个系统组成一个分布式的网络。 不过这样做的同时会造成一个麻烦:当一位玩家从区域1,移动到区域2。这个时候,就必须先在服务器1里把玩家删除,然后再在区域2里加入玩家。同时需要由服务器1向服务器2转移玩家的数据信息(因为服务器组在工作的时候,玩家的信息只能保存在当前所在区域的服务器里),也就是说一旦玩家发生服务器间区域移动,服务器端就不可避免的造成数据通讯。因为这种移动并不是有规律的,玩家所在的服务器都有可能到达其它服务器。这样,如果服务器组里有N台地图服务器,那么,每个服务器都可能向其它N-1台服务器产生连接,总共就可能产生N×N个连接。如此数量连接如果只是使用普通的socket设计,就很有可能会给服务器通讯间的各种问题所困扰,为此,在商业网络游戏的服务器之间,通常都使用成熟的第三方的通讯中间件,如ACE,ICE等作为网络连接的传输层。
做过游戏服务器的开发,也做过一般的互联网服务器的开发,在我看来两者的区别主要有两点.1)游戏服务器比一般的服务器要保存更多的状态:玩家的属性这些自不必说,一般的IM服务也会有,还有一些马上就会变化的数据,比如某个玩家的生命值,发技能前后的法力值等等,这些值区别于一般的属性值如名字,ID这些的差异在于,会经常性的变化,还会参与到逻辑的计算中,比如你一个多少等级的玩家吃了什么东西之后战力值变化为多少,打在一个多少属性的玩家身上会不会被他闪避,会不会产生暴击....游戏逻辑中的战斗技能计算是很大的一个点,我不太熟悉这块就不展开多说了.可以看到,游戏逻辑的CPU计算是非常多的.2)游戏服务中,每个玩家不是独立存在的,而是很有可能会与其他玩家发生状态的交互,一般的服务器比如HTTP什么的,你一个请求过来查你的数据,和别人的请求是独立的,并没有什么交互.客户端之间会有交互这一点,举最简单的例子,一个人在一个场景里面说了一句话,那么同一个屏幕的玩家也需要能够看到他说的这句话.此时游戏服务器就需要判断,多远的距离以内的玩家,会认定为是"同屏幕"的玩家,需要向这些玩家广播这个玩家说的这句话.这个广播就比较麻烦了.首先,计算哪些玩家在"同屏幕",就是我们在第一点提到的玩家身上某些经常变化的属性需要做的运算,在这里需要根据玩家的坐标,找出来跟在同屏幕的玩家,用到的是AOI的概念,感兴趣的可以看看 .另外,找到了这些需要接收这个消息的玩家之后,将消息转发给它们又是一个IO密集的操作,假如场景中有10个人,那么一句话就需要同时广播给另外9个人,假如有100人,1000人呢,量就更大了.所以同样的一个硬件配置的服务器,可能跑Nginx可以同时处理上万的链接,但是对于一个游戏服务器就只有1,2千了,就是因为游戏服务器是一个CPU密集而且IO密集的服务器类型.
最大的区别是,web服务器每个client都是独立的,游戏服务器不同client是有交互有状态,会实时地互相影响。这导致很多设计上的差异。并发架构的影响在高并发下,对client请求进行负载均衡并不如web那么简单,因为client状态会互相影响,并且可能共享写数据甚至有时序依赖。大型mmorpg通常是长连接,并发服务数通常要远小于web服务器 。根源就是实时性和强交互性的限制,两者要求越低的游戏,并发就可以做得越高。web服务运算较少,io密集,读多写少。游戏服计算和io都密集,读写都频繁对代码风格的影响比如开发web服务,基于nginx的openresty就很好用,利用了Lua的协程和异步io,写起来很流畅而不失性能。但用来做游戏服务器,协程却可能是个坑,因为游戏依赖很多上下文环境,当协程被唤醒时,上下文环境改变,协程的代码风格很容易用了旧变量导致逻辑错误。
web服务器基本是无状态的. 游戏服务器是强状态的, 耦合自己不说, 还要耦合别人, 别的大区...
没有本质区别 只是在开发原则上和开发难度上有点差异。而且两者还是可以相互平衡的先说开发原则的问题,如果偷懒,或者水平有限,或者历史包袱沉重,那游戏服务器要考虑较多的稳定性和效率的问题,毕竟最偷懒的做法还是所有的状态在进程内存空间里,如果宕了就没了,而这样玩,你能折腾的cpu也没几个,没几下就到计算上限了当然了,如果你足够牛,上面的问题都不是问题,但绝大部分人不得不面对一个和开发通用软件不同的地方,你没多少现成的轮子可以用,无论是理论层面的还是工具层面的,毕竟来源的网游大作好像真不多其他的,好像真没什么区别
主要看游戏类型了 一些弱联网的游戏 比如早期卡牌手游 服务端其实和web没多大区别 但是像wow lol或者moba手游等这样强联网的游戏 就是长链接的服务端 一般经过登陆服务器选择游戏服以后 就和服务端建起一个长链接进行通讯
视情况而定,弱联网、短连接,即采用HTTP方式通讯和普通Web服务器基本没有区别;强联网、长连接,即采用Socket方式通讯更注重同步性。其次从连接状态来看,普通Web服务器是有求必应,各个客户端即浏览器间是没有消息传递的,都是由服务器来返回数据,而游戏服务器特别是MMORPG这类游戏每个状态的变化都需要服务器广播给所有客户端,高并发、高同步是主要特点。
强交互的游戏服务器会产生大量的广播包,web服务器不存在这个问题
硬件上都是普通PC服务器,无区别。web与网络游戏应用在软件架构上天差地别,网络游戏尤其是MMORPG是集世界上最尖端的计算机技术之大成为一体!
已有帐号?
无法登录?
社交帐号登录