计算机网络问题:比较二层和三层架构客户服务器模式,分析各自特点,以及适用场合。
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中进行使用。
常见的服务器架构有以下三种:
服务器集群架构:
服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。
服务器负载均衡架构:
负载均衡 (Load Balancing) 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
分布式服务器架构:
所谓分布式资源共享服务器就是指数据和程序可以不位于一个服务器上,而是分散到多个服务器,以网络上分散分布的地理信息数据及受其影响的数据库操作为研究对象的一种理论计算模型服务器形式。分布式有利于任务在整个计算机系统上进行分配与优化,克服了传统集中式系统会导致中心主机资源紧张与响应瓶颈的缺陷,解决了网络GIS 中存在的数据异构、数据共享、运算复杂等问题,是地理信息系统技术的一大进步。
这个三种架构都是常见的服务器架构,集群的主要是IT公司在做,可以保障重要数据安全;负载均衡主要是为了分担访问量,避免临时的网络堵塞,主要用于电子商务类型的网站;分布式服务器主要是解决跨区域,多个单个节点达到高速访问的目前,一般是类似CDN的用途的话,会采用分布式服务器。
把二个以上的设备通过某种方式连接起来,能起到扩容的效果就是级联。
级联可以被应用在很多方面。比如:网络上的交换机,路由器级连。
还有我们用到的内存条,也是由存储芯片级联构成的。还有功放,一个
功入块或是三级管的放大效果达不到要求的功率,这时候就要用多片级
连的方法来实现。这个东西生活中很多的。
服务器分塔式、机架式和刀片式这三种结构来划分服务器,服务器的外形为什么会有这样的划分呢?主要原因就是具体的应用环境不同,塔式服务器长得跟我们平时用的台式机一样,占用空间比较大,一般是一些小型企业自己使用自己维护;而机架式服务器长得就像卧着的台式机,可以一台一台的放到固定机架上,因此而得名,它可以拿去专业的服务器托管提供商那里进行托管,这样每年只需支付一定的托管费,就免去了自己管理服务器的诸多不便;而刀片服务器是近几年才比较流行的一种服务器架构,它非常薄,可以一片一片的叠放在机柜上,通过群集技术进行协同运算,能够处理大量的任务,特别适合分布式服务,如作为WEB服务器。
对于不同的企业和不同的使用情况,选择不同结构的服务器。
上海浙大网新易得科技发展有限公司生产的网新易得服务器三种结构的产品都会有。另外,他们还可以根据企业的具体要求按需定制不同需求的服务器。
级联可以定义为两台或两台以上的交换机通过一定的方式相互连接,根据需要,多台交换机可以以多种方式进行级联。在较大的局域网例如园区网(校园网)中,多台交换机按照性能和用途一般形成总线型、树型或星型的级联结构。
城域网是交换机级联的极好例子,目前各地电信部门已经建成了许多市地级的宽带IP城域网。这些宽带城域网自上向下一般分为3个层次:核心层、汇聚层、接入层。核心层一般采用千兆以太网技术,汇聚层采用1000M/100M以太网技术,接入层采用100M/10M以太网技术,所谓千兆到大楼,百兆到楼层,十兆到桌面。
这种结构的宽带城域网实际上就是由各层次的许多台交换机级联而成的。核心交换机(或路由器)下连若干台汇聚交换机,汇聚交换机下联若干台小区中心交换机,小区中心交换机下连若干台楼宇交换机,楼宇交换机下连若干台楼层(或单元)交换机(或集线器)。
交换机间一般是通过普通用户端口进行级联,有些交换机则提供了专门的级联端口(Uplink Port)。这两种端口的区别仅仅在于普通端口符合MDIX标准,而级联端口(或称上行口)符合MDI标准。由此导致了两种方式下接线方式不同:当两台交换机都通过普通端口级联时,端口间电缆采用交叉电缆(Crossover Cable);当且仅当其中一台通过级联端口时,采用直通电缆(Straight Through Cable)。
为了方便进行级联,某些交换机上提供一个两用端口,可以通过开关或管理软件将其设置为MDI或MDIX方式。更进一步,某些交换机上全部或部分端口具有MDI/MDIX自校准功能,可以自动区分网线类型,进行级联时更加方便。
用交换机进行级联时要注意以下几个问题。原则上任何厂家、任何型号的以太网交换机均可相互进行级联,但也不排除一些特殊情况下两台交换机无法进行级联。交换机间级联的层数是有一定限度的。成功实现级联的最根本原则,就是任意两节点之间的距离不能超过媒体段的最大跨度。多台交换机级联时,应保证它们都支持生成树(Spanning-Tree)协议,既要防止网内出现环路,又要允许冗余链路存在。
进行级联时,应该尽力保证交换机间中继链路具有足够的带宽,为此可采用全双工技术和链路汇聚技术。交换机端口采用全双工技术后,不但相应端口的吞吐量加倍,而且交换机间中继距离大大增加,使得异地分布、距离较远的多台交换机级联成为可能。链路汇聚也叫端口汇聚、端口捆绑、链路扩容组合,由IEEE8023ad标准定义。即两台设备之间通过两个以上的同种类型的端口并行连接,同时传输数据,以便提供更高的带宽、更好的冗余度以及实现负载均衡。链路汇聚技术不但可以提供交换机间的高速连接,还可以为交换机和服务器之间的连接提供高速通道。需要注意的是,并非所有类型的交换机都支持这两种技术。
网络节点服务器(NNS)是SNA网络节点(NN) ,一种服务器装置,节点服务器是针对服务器集群来说的。主要应用在WEB、FTP。***等等的服务上。所以节点服务器并不是单指某一种服务器。它由多个节点和管理装置整体的管理单元构成,其特征在于: 各节点具备切换该节点的动作模式的模块管理部,该模块管理部根据从所述管理单元传递的构成信息,切换各节点单独动作或与其它节点协调动作提供一种服务器装置,除以前的刀锋服务器系统的向外扩展型的扩展性外,还具备基于SMP结合多个节点间的向上扩展型的扩展性。各节点具备与其它节点SMP 结合用的单元,各节点的模块管理部根据系统构成信息,切换该节点作为刀锋服务器单独动作或作为SMP服务器的构成模块来动作。在背板上对各节点间链路进行等长布线,通过在各节点内也进行与背板上的各节点间链路等长的环路布线,取得节点间的同步。在背板上搭载向各节点分配基准时钟的基准时钟分配单元,利用各节点内部的时钟分配器来切换基准时钟,由此进行SMP结合的节点的基准时钟的同步。
高质量可靠的UDT通讯协议;
多层级联服务器结构体系;
采用了数据挖掘技术,能够迅速找到资源宿主;
支持用户信息、频道信息的统计分析;
提供内容监管策略;
提供安全管理权限策略;
提供用户手工配置策略;
三层架构2007-08-14 10:30IT行业的一大特点是经常创造一些新名词,单层和双层这两个概念就是在三层结构出现之后才创造出。单层结构是80年代以来小型应用的结构,典型的是基于Dbase、Foxbase等小型数据库的应用。双层结构的同义词可以理解为传统的客户/服务器结构,是目前占统治地位的结构,典型是基于Oracle、Infomix等大型数据库的应用。三层结构是传统的客户/服务器结构的发展,代表了企业级应用的未来,典型的有Web下的应用。多层结构和三层结构的含义是一样的,只是细节有所不同。
之所以会有双层、三层这些提法,是因为应用程序要解决三个层面的问题。
一:界面层
界面层提供给用户一个视觉上的界面,通过界面层,用户输入数据、获取数据。界面层同时也提供一定的安全性,确保用户有会看到机密的信息。
二:逻辑层
逻辑层是界面层和数据层的桥梁,它响应界面层的用户请求,执行任务并从数据层抓取数据,并将必要的数据传送给界面层。
三:数据层
数据层定义、维护数据的完整性、安全性,它响应逻辑层的请求,访问数据。这一层通常由大型的数据库服务器实现,如Oracle 、Sybase、MS SQl Server等。
三层架构的优势
从开发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度工降低了开发的难度。
三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的CPU就可以获得不错的性能。相比之下,单层或胖客户对面器的要求太高。我的机器是奔腾133、32M内存、25G硬盘,装了IE40之后,感觉机器慢子很多,硬盘也只有300多M的空余空间了,已打算将硬盘扩充到4G。试想如果今后还是以单层或双层峁刮主流的话,硬件的更新费用将会有多大,尽管现在电脑价格下降很多,对个人用户已可以承受,但对于企业而言,频繁的台旧机器淘汰,换新机器,这是一笔多么大的费用
三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。美国人曾利用分式计算解密,几个月就破解了据称永远都破不了的密码。
三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
如何开发三层应用
支持三层应用开发的工具很多,VC 50、Delphi 30、VB 50都是不错的选择,而Delphi是其中功能强大而有相对容易的开发工具。
Delphi 3针对3层结构,提出了三种代理(Broker)和新一代的数据库引擎,来适应它。
第一种叫Remote Data Broker, Remote Data Broker结构的精髓是让每一个客户端不再需要BDE,取面代之的是中央化的BDE,以集中管理的方式降低每一个客户在BDE上所须调整的开销和复杂度。第二种叫Constraint Broker,它所扮演的角色就是保证所有客户数据的一致性和数据的完整性。第三种是Business Object Broker,它的目的是提供给一些关键性的商业应用程序一个快速而且可信赖的使用环境。为了达成这种高层次的要求,BusinessObjectBroker会自动的将应用程序做适当的划分,并复制重要的业务规则到第一个区间,以达到速度的要求
总结。
伴随着企业自身的发展和外部环境的复杂化,企业的需求也越来越复杂,应用程序的开发也更加困难。三层客户/服务器架构将有助于解决这一问题。
0条评论