主从式架构

科技工作者之家 2020-11-17

主从式架构 (Client–servermodel) 或客户端-服务器(Client/Server)结构简称C/S架构,是一种网络架构,它把客户端 (Client)(通常是一个采用图形用户界面的程序)与服务器(Server) 区分开来。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。

简介主从式架构 (Client–servermodel) 或客户端-服务器(Client/Server)结构简称C/S架构,是一种网络架构,它把客户端 (Client)(通常是一个采用图形用户界面的程序)与服务器(Server) 区分开来。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。有很多不同类型的服务器,例如文件服务器、终端服务器和邮件服务器等。虽然它们的存在的目的不一样,但基本构架是一样的。

主从式架构通过不同的途径应用于很多不同类型的应用程序,最常见就是目前在因特网上用的网页。例如,当你在维基百科阅读文章时,你的电脑和网页浏览器就被当做一个客户端,同时,组成维护百科的电脑、数据库和应用程序就被当做服务器。当你的网页浏览器向维基百科请求一个指定的文章时,维基百科服务器从维基百科的数据库中找出所有该文章需要的信息,结合成一个网页,再发送回你的浏览器。

主从式架构由美国Borland公司最早研发,目前最流行的两大主流软件体系结构之一,另一个是美国微软公司研发的浏览器-服务器(Browser/Server,B/S)结构。服务器端一般使用高性能的计算机,并配合Oracle、Sybase等大型数据库;客户端需要安装专门的软件。在这种结构下,可以在服务器和客户端平衡服务处理量,但因为客户端安装了专门的软件,对平台有一定限制要求,安装和维护的工作量大。1

特征主从式架构意图提供一个可伸缩 (scalable)的架构,借此网上的计算机或者处理过程是一个客户端或者服务器。服务器软件一般,但不总是,运行在强大的专用商业计算机上。另一方面,客户端一般运行在普通个人计算机或者工作站上。

服务端的特征:

被动的角色(从)。

等待来自客户端的请求。

处理请求并传回结果。

客户端的特征:

主动的角色(主)。

发送请求。

等待直到收到响应。

服务器可以是有状态或者无状态的。无状态的服务器不会保留任何两个请求之间的信息,有状态服务器会记住请求之间的信息。这些信息的作用域可以是全局的或者某个事务 (session)的。静态 HTML 页面服务器是一个无状态服务器的例子,Apache Tomcat 是一个有状态服务器。

伺服端与客户端的交互经常使用循序图描述,循序图是UML中的一个标准。2

与点对点技术的比较另一种已知的网络架构类型是点对点技术(peer-to-peerarchitecture),不同于主从式架构,网络上的每个使用端或程式的实体都拥有相同的等级,同时扮演用户端与服务器的角色。Peerto peer 常被缩写成P2P。

此两种架构目前都被广范使用,可以找寻有关中心式网络(Client-Server)或非中心式网络(Peer-to-peer)得到更详细的资讯,此两种架构都可于Windows 与Linux上面使用1。

点对点网络对等式网络(peer-to-peer, 简称P2P),又称点对点技术,是无中心服务器、依靠用户群(peers)交换信息的互联网体系,它的作用在于,减低以往网路传输中的节点,以降低资料遗失的风险。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能,任何一个节点无法直接找到其他节点,必须依靠其户群进行信息交流。

P2P节点能遍布整个互联网,也给包括开发者在内的任何人、组织、或政府带来监控难题。P2P在网络隐私要求高和文件共享领域中,得到了广泛的应用。使用纯P2P技术的网络系统有比特币、Gnutella,或自由网等。另外,P2P技术也被使用在类似VoIP等实时媒体业务的数据通信中。有些网络(如Napster、OpenNAP,或IRC@find)包括搜索的一些功能,也使用客户端-服务器结构,而使用P2P结构来实现另外一些功能。这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。1

本词条内容贡献者为:

曹慧慧 - 副教授 - 中国矿业大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。