首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

chap4Web服务器-入门学习笔记

随着社交网络、微博、电子商务等各类Web应用的快速发展,针对众多Web业务平台的网络攻击频繁发生,Web安全问题开始引起大家的普遍关注。由于Web应用程序的访问只需要通过客户端浏览器就可以完成,**这就形成了一种新型的B/S(Browser/Server,浏览器/服务器)结构,它在继承了传统C/S(Client/Server,客户机/服务器)结构应用优势的基础上,根据Web应用需求进行了功能扩展和结构优化。同样的,各类网络攻击行为也随着体系结构和工作模式的变化而变化,新的应用环境不仅要解决传统网络中存在的安全问题,同时还要应对针对新应用而出现的新型攻击行为。考虑到浏览器/服务器结构的结构特点,本章重点介绍Web服务器的攻防,有关Web浏览器的攻防将在下一章单独介绍。 体系结构是用于定义一个系统的结构及系统成员间相互关系的一套规划。从互联网应用发展来看,从早期的终端/主机模式,到后来的共享数据模式,再到C/S模式,发展到目前以B/S模式为主,在电子商务等应用中使用的三层或多层模式,基于互联网应用的结构发生着巨大的变化。 1.C/S结构的实现方法 面向终端的网络以大型机为核心,而C/S结构打破了大型机在网络中所处的核心位置,通过充分发挥个人计算机(PC)、大型数据库系统和专业服务器操作系统(Unix/Linux、NetWare和Windows NT)的功能,实现了真正意义上的分布式计算模式。C/S结构是指将事务处理分开进行的网络系统。 C/S的工作模式采用两层结构: 第一层这客户机系统上有机融合了表示与业务逻辑; 第二层通过网络结合了数据库服务器。 更具体地讲,C/S结构将与用户交互的图形用户界面(Graphical User Interface,GUI)和业务应用处理与数据库访问与处理相分离,服务器与客户机之间通过消息传递机制进行对话,由客户机向服务器发出请求,服务器在进行相应的处理后经传递机制向客机返回应答。 大多数情况下,C/S结构是以数据库应用为主,即业务数据库(如Oracle、MS SQL、MySQL等)运行在服务器端,**而数据库应用程序运行在客户端。 基于这一特定的应用环境,C/S结构存在如下的优缺点:

02

Mysql 主从复制 作用和原理

主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库。您看,像在mysql数据库中,支持单项、异步赋值。在赋值过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器。此时主服务器会将更新信息写入到一个特定的二进制文件中。并会维护文件的一个索引用来跟踪日志循环。这个日志可以记录并发送到从服务器的更新中去。当一台从服务器连接到主服务器时,从服务器会通知主服务器从服务器的日志文件中读取最后一次成功更新的位置。然后从服务器会接收从哪个时刻起发生的任何更新,然后锁住并等到主服务器通知新的更新

03

关于网游分布式服务器的讨论?

如题 请大家讨论一下网游服务器端结构设计方面的问题。 希望大家畅所欲言,能说说细节更好。 还有关于网络游戏其他方面的问题也可以。 在此先摘篇文章 随着网游从业者的规模和需求不断扩大,越来越多的朋友进入了网游开发这个领域,使得市场中网游开发技术相关的需求量迅猛增长。目前,(网游)网络游戏行业比较紧缺的是具有较深技术功底的“专家型”开发者,这主要包括两个方面:服务器端设计人员以及客户端设计人员。对于网络游戏而言,由于其主要的游戏逻辑计算是在服务器端完成的,数据同步与广播信息的传递也是通过服务器完成的,所以,是否拥有一个有经验的服务器端设计人员已经成为一款网游产品能否成功的关键之一。鉴于此,本文将试图就网游服务器设计的一系列问题展开讨论和总结,笔者将结合自己的开发经验和体会,将其中各方面内容逐一呈现。希望能够对以下三类人员有所帮助:   有一定网络编程基础、准备进入(网游)网络游戏行业作服务器端设计的人员;   正在从事网游服务器设计的人员;   网游项目的技术负责人。   由于网游服务器的设计牵涉到太多内容,比如:网络通信方面、人工智能、数据库设计等等,所以本文将重点从网络通信方面的内容展开论述。谈到网络通信,就不能不涉及如下五个问题: 1、 常见的网游服务通信器架构概述 2、 网游服务器设计的基本原则 3、 网游服务器通信架构设计所需的基本技术 4、 网游服务器通信架构的测试 5、 网游服务器通信架构设计的常见问题 下面我们就从第一个问题说起: 常见的网游服务器通信架构概述   目前,国内的网游市场中大体存在两种类型的网游游戏:MMORPG(如:魔兽世界)和休闲网游(如:QQ休闲游戏和联众游戏,而如泡泡堂一类的游戏与QQ休闲游戏有很多相同点,因此也归为此类)。由于二者在游戏风格上的截然不同,导致了他们在通信架构设计思路上的较大差别。下面笔者将分别描述这两种网游的通信架构。 1.MMORPG类网游的通信架构   网游的通信架构,通常是根据几个方面来确定的:游戏的功能组成、游戏的预计上线人数以及游戏的可扩展性。   目前比较通用的MMORPG游戏流程是这样的: a. 玩家到游戏官方网站注册用户名和密码。 b. 注册完成后,玩家选择在某一个区激活游戏账号。 c. 玩家在游戏客户端中登录进入已经被激活的游戏分区,建立游戏角色进行游戏。   通常,在这样的模式下,玩家的角色数据是不能跨区使用的,即:在A区建立的游戏角色在B区是无法使用的,各区之间的数据保持各自独立性。我们将这样独立的A区或B区称为一个独立的服务器组,一个独立的服务器组就是一个相对完整的游戏世界。而网游服务器的通信架构设计,则包括了基于服务器组之上的整个游戏世界的通信架构,以及在一个服务器组之内的服务器通信架构。   我们先来看看单独的服务器组内部的通信是如何设计的。   一个服务器组内的各服务器组成,要依据游戏功能进行划分。不同的游戏内容策划会对服务器的组成造成不同的影响。一般地,我们可以将一个组内的服务器简单地分成两类:场景相关的(如:行走、战斗等)以及场景不相关的(如:公会聊天、不受区域限制的贸易等)。为了保证游戏的流畅性,可以将这两类不同的功能分别交由不同的服务器去各自完成。另外,对于那些在服务器运行中进行的比较耗时的计算,一般也会将其单独提炼出来,交由单独的线程或单独的进程去完成。   各个网游项目会根据游戏特点的不同,而灵活选择自己的服务器组成方案。经常可以见到的一种方案是:场景服务器、非场景服务器、服务器管理器、AI服务器以及数据库代理服务器。   以上各服务器的主要功能是:   场景服务器:它负责完成主要的游戏逻辑,这些逻辑包括:角色在游戏场景中的进入与退出、角色的行走与跑动、角色战斗(包括打怪)、任务的认领等。场景服务器设计的好坏是整个游戏世界服务器性能差异的主要体现,它的设计难度不仅仅在于通信模型方面,更主要的是整个服务器的体系架构和同步机制的设计。   非场景服务器:它主要负责完成与游戏场景不相关的游戏逻辑,这些逻辑不依靠游戏的地图系统也能正常进行,比如公会聊天或世界聊天,之所以把它从场景服务器中独立出来,是为了节省场景服务器的CPU和带宽资源,让场景服务器能够尽可能快地处理那些对游戏流畅性影响较大的游戏逻辑。   服务器管理器:为了实现众多的场景服务器之间以及场景服务器与非场景服务器之间的数据同步,我们必须建立一个统一的管理者,这个管理者就是服务器组中的服务器管理器。它的任务主要是在各服务器之间作数据同步,比如玩家上下线信息的同步。其最主要的功能还是完成场景切换时的数据同步。当玩家需要从一个场景A切换到另一个场景B时,服务器管理器负责将玩家的数据从场景A转移到场景B,并通过协议通知这两个场景数据同步的开始与结束。所以,为了实现这些内容繁杂的数据同步任务,服务器管理器通常会与所有的场景服务器和非场景服务器保持socke

03
领券