
所谓服务器结构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。所以,结构本无所谓正确与错误;当然,优秀的结构更有助于系统的搭建,对系统的可扩展性及可维护性也有更大的帮助。
好的结构不是一蹴而就的,而且每个设计者心中的那把尺都不相同,所以这个优秀结构的定义也就没有定论。在这里,我们不打算对现有游戏结构做评价,而是试着从头开始搭建一个我们需要的MMOG结构。
对于一个最简单的游戏服务器来说,它只需要能够接受来自客户端的连接请求,然后处理客户端在游戏世界中的移动及交互,也即游戏逻辑处理即可。如果我们把这两项功能集成到一个服务进程中,则最终的结构很简单:
client ----- server
嗯,太简单了点,这样也敢叫服务器结构?好吧,现在我们来往里面稍稍加点东西,让它看起来更像是服务器结构一些。
一般来说,我们在接入游戏服务器的时候都会要提供一个帐号和密码,验证通过后才能进入。关于为什么要提供用户名和密码才能进入的问题我们这里不打算做过 多讨论,云风曾对此也提出过类似的疑问,并给出了只用一个标识串就能进入的设想,有兴趣的可以去看看他们的讨论。但不管是采用何种方式进入,照目前看来我 们的服务器起码得提供一个帐号验证的功能。
我们把观察点先集中在一个大区内。在大多数情况下,一个大区内都会有多组游戏服,也就是多个 游戏世界可供选择。简单点来实现,我们完全可以抛弃这个大区的概念,认为一个大区也就是放在同一个机房的多台服务器组,各服务器组间没有什么关系。这样, 我们可为每组服务器单独配备一台登录服。最后的结构图应该像这样:
loginServer gameServer
| /
| /
client
该结构下的玩家 *** 作流程为,先选择大区,再选择大区下的某台服务器,即某个游戏世界,点击进入后开始帐号验证过程,验证成功则进入了该游戏世界。但是,如果玩家想要切换游戏世界,他只能先退出当前游戏世界,然后进入新的游戏世界重新进行帐号验证。用 Win2003 架设邮件服务器
很多企业局域网内都架设了邮件服务器,用于进行公文发送和工作交流。但使用专业的企业邮件系统软件需要大量的资金投入,这对于很多企业来说是无法承受的。其实我们可以通过Windows Server 2003提供的POP3服务和SMTP服务架设小型邮件服务器来满足我们的需要。
一、安装POP3和SMTP服务组件
Windows Server 2003默认情况下是没有安装POP3和SMTP服务组件的,因此我们要手工添加。
1安装POP3服务组件
以系统管理员身份登录Windows Server 2003 系统。依次进入“控制面板→添加或删除程序→添加/删除Windows组件”,在d出的“Windows组件向导”对话框中选中“电子邮件服务”选项,点击“详细信息”按钮,可以看到该选项包括两部分内容:POP3服务和POP3服务Web管理。为方便用户远程Web方式管理邮件服务器,建议选中 “POP3服务Web管理”。
2安装SMTP服务组件
选中“应用程序服务器”选项,点击“详细信息”按钮,接着在“Internet信息服务(IIS)”选项中查看详细信息,选中“SMTP Service”选项,最后点击“确定”按钮。此外,如果用户需要对邮件服务器进行远程Web管理,一定要选中“万维网服务”中的“远程管理(HTML)”组件。完成以上设置后,点击“下一步”按钮,系统就开始安装配置POP3和SMTP服务了。
二、配置POP3服务器
1创建邮件域
点击“开始→管理工具→POP3服务”,d出POP3服务控制台窗口。选中左栏中的POP3服务后,点击右栏中的“新域”,d出“添加域”对话框,接着在“域名”栏中输入邮件服务器的域名,也就是邮件地址“@”后面的部分,如“rtjnet”,最后点击“确定”按钮。其中“rtjnet”为在Internet上注册的域名,并且该域名在DNS服务器中设置了MX邮件交换记录,解析到Windows Server 2003邮件服务器IP地址上。
2创建用户邮箱
选中刚才新建的“rtjnet”域,在右栏中点击“添加邮箱”,d出添加邮箱对话框,在“邮箱名”栏中输入邮件用户名,然后设置用户密码,最后点击“确定”按钮,完成邮箱的创建。
三、配置SMTP服务器
完成POP3服务器的配置后,就可开始配置SMTP服务器了。点击“开始→程序→管理工具→Internet信息服务(IIS)管理器”,在 “IIS管理器”窗口中右键点击“默认SMTP虚拟服务器”选项,在d出的菜单中选中“属性”,进入“默认SMTP虚拟服务器”窗口,切换到“常规”标签页,在“IP地址”下拉列表框中选中邮件服务器的IP地址即可。点击“确定”按钮,这样一个简单的邮件服务器就架设完成了。
完成以上设置后,用户就可以使用邮件客户端软件连接邮件服务器进行邮件收发工作了。在设置邮件客户端软件的SMTP和POP3服务器地址时,输入邮件服务器的域名“rtjnet”即可。
四、远程Web管理
Windows Server 2003还支持对邮件服务器的远程Web管理。在远端客户机中,运行IE浏览器,在地址栏中输入“>x86服务器使用CISC架构的处理器,类似于人们触摸的台式笔记本电脑。随着英特尔Xeon处理器的不断改进,有传言称x86服务器将占领小型计算机市场。
X86是一种基于CISC(复杂指令集)体系结构的处理器。大多数CPU制造商(如Amd,Intel)生产这种处理器。与具有精简指令结构计算机(RISC)体系结构的PowerPC(如苹果计算机)不同,CISC处理器按顺序执行程序指令,并按顺序执行每个指令中的 *** 作。
顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢,RISC结构相对简单。它只需要硬件来执行有限数量的最常用指令。大多数复杂的 *** 作使用复杂的编译器技术,由简单的指令组成。它主要用于高端服务器,特别是使用RISC指令系统CPU的高端服务器。浏览器/服务器结构是一种常见的网络应用程序架构,其中客户端通过浏览器向服务器发送请求,并接收来自服务器的响应。以下是该架构的优缺点:
优点:
1 可扩展性:由于所有业务逻辑都在服务器上运行,因此可以轻松地增加或减少服务器数量以满足不同负载需求。
2 安全性:由于数据和业务逻辑都存储在服务器上,因此可以更容易地实现安全控制和访问权限管理。
3 维护简单:由于所有代码都集中在一个位置(即服务器),因此更容易维护和更新。
缺点:
1 性能瓶颈:由于所有请求都必须经过网络传输到达服务器并返回响应,因此可能会出现延迟问题。这尤其对大型、高流量网站具有挑战性。
2 单点故障:如果某个关键组件(如数据库)发生故障,则整个系统将无法正常工作。
3 开发复杂度高:开发人员需要同时考虑客户端和服务端的交互,并确保两者之间的通信正确无误。目前按照外形结构划分,服务器可分为塔式、机架式、刀片式三种类型。
塔式服务器
一般的塔式服务器机箱和我们常用的PC机箱差不多,而大型的塔式机箱就要粗大很多,总的来说外形尺寸没有固定标准。
机架式服务器
机架式服务器是由于满足企业的密集部署,形成的以19英寸机架作为标准宽度的服务器类型,高度则从1U到数U。将服务器放置到机架上,并不仅仅有利于日常的维护及管理,也可能避免意想不到的故障。首先,放置服务器不占用过多空间。机架服务器整齐地排放在机架中,不会浪费空间。其次,连接线等也能够整齐地收放到机架里。电源线和LAN线等全都能在机柜中布好线,可以减少堆积在地面上的连接线,从而防止脚踢掉电线等事故的发生。
规定的尺寸是服务器的宽(4826cm=19英寸)与高(4445cm的倍数)。由于宽为19英寸,所以有时也将满足这一规定的机架称为“19英寸机架”。
刀片式服务器
刀片服务器是一种HAHD(High Availability High Density,高可用高密度)的低成本服务器平台,是专门为特殊应用行业和高密度计算机环境设计的,其中每一块“刀片”实际上就是一块系统母板,类似于一个个独立的服务器。在这种模式下,每一个母板运行自己的系统,服务于指定的不同用户群,相互之间没有关联。不过可以使用系统软件将这些母板集合成一个服务器集群。在集群模式下,所有的母板可以连接起来提供高速的网络环境,可以共享资源,为相同的用户群服务。
本文,用python来创建一个最简单的网页。
1先定义一个函数,用来向网站服务器发送请求:defyingyong(environ,start_response):start_response('200OK',[('Content-Type','text/html')])return[b'<h1>HowAre!</h1>']要求网站在网页上显示粗体的HowAre!
2导入wsgi模块的子模块,用来创建服务器。fromwsgirefsimple_serverimportmake_server。
3创建服务器,IP为空,端口号为900。a=900>
4让服务器开始运行,并长时间运行。>
5再访问步骤一里面的链接,就得到如下网页。这说明服务器开始运行了。刷新这个网页,就相当于重复访问这个网页。每访问一次(刷新一次),都会向服务器发送请求,在python编译器里面会有所体现。
6关闭python编译器,服务器也就关闭了,这个网页会立刻崩溃。再打开python并运行这段代码,这个网页又会立刻恢复。完整代码如下:defyingyong(environ,start_response):start_response('200OK',[('Content-Type','text/html')])return[b'<h1>HowAre!</h1>']fromwsgirefsimple_serverimportmake_servera=900>
1、开始之前,请先用浏览器访问下面这个网页:l')])
return[b'<h1>HowAre!</h1>']
要求网站在网页上显示粗体的HowAre!
3、导入wsgi模块的子模块,用来创建服务器。
fromwsgirefsimple_serverimportmake_server
4、创建服务器,IP为空,端口号为900。
a=900
>
这个服务器将调用前面的函数yingyong。
5、让服务器开始运行,并长时间运行。
>
forever,让服务器永远运行,除非服务器被迫关闭。
服务器在哪里?就在python里面,关闭python编译器,就等于关闭了服务器。
6、再访问步骤一里面的链接,就得到如下网页,这说明服务器开始运行了。
7、刷新这个网页,就相当于重复访问这个网页,每访问一次(刷新一次),都会向服务器发送请求,在python编译器里面会有所体现。
8、关闭python编译器,服务器也就关闭了,这个网页会立刻崩溃。
再打开python并运行这段代码,这个网页又会立刻恢复。
完整代码如下:
defyingyong(environ,start_response):
start_response('200OK',[('Content-Type','text/html')])
return[b'<h1>HowAre!</h1>']
fromwsgirefsimple_serverimportmake_server
a=900
>
>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)