客户端-服务器模型是一种网络架构,描述了服务器如何共享资源并与网络设备交互。对于现代企业和数据中心,许多服务器可以促进电子邮件、打印、互联网连接、应用程序托管等流程。客户端-服务器模型描述了工作站、笔记本电脑和 IoT 设备等网络设备(称为客户端)如何向网络机器或能够完成请求的软件(称为服务器)发出请求。尽管服务器过去一直是机架服务器等物理设备,但数据中心趋势表明,管理员越来越多地为一系列工作负载部署虚拟服务器。
客户端-服务器模型的组成部分是什么?
所有客户端-服务器框架都包含三个主要成分:客户端、服务器和连接这两个部分的网络设备。
示例 |
示例 |
示例 |
---|---|---|
客户
企业曾经依赖共享单一操作系统的工作站,但今天的 IT 环境力求系统、设备、应用程序和产品之间的互操作性。由于网络客户端的设备和操作系统类型越来越多样化,因此管理员有额外的责任确保兼容性。
服务器
为客户提供 IT 资源的高度集中的机器是位于现代数据中心的物理、虚拟和基于云的服务器。服务器是企业组织所依赖的几个基本数字流程的中央权威。
网络设备
该框架需要物理或无线网络设备(如集线器、交换机和路由器)来连接服务器、客户端和资源。建立客户端和服务器之间的连接后,管理员可以配置客户端设备如何发出请求并指定服务器来完成特定任务。
客户端-服务器模型如何工作?
可操作的客户端-服务器架构促进了以下过程:
- 客户端通过支持网络的设备提交请求。
- 网络服务器接收并处理请求。
- 服务器向客户端发送响应。
虽然简单,但客户端-服务器模型广泛适用并且与任何寻求了解内容交付网络 (CDN) 或边缘网络机制的人相关。随着服务器功能越来越靠近网络边缘,客户端-服务器进程在物理上更靠近最终用户。
客户端-服务器模型示例
促进电子邮件
通信对于企业组织至关重要,蜗牛邮件无法与电子邮件的速度和可靠性竞争。通过特定服务器为组织或网络托管电子邮件通信一直是控制特定电子邮件帐户和活动的长期行业选择。通过 IMAP、POP3 和 SMTP 等协议,管理员可以建立一个系统来促进、保护和维护电子邮件通信。使用他们的电子邮件帐户时,员工是请求发送电子邮件、上传附件和将联系人存储到电子邮件服务器的客户。
访问网页内容
当 Web 客户端想要访问特定网站时,他们输入 URL,浏览器从域名系统 (DNS) 请求 IP 地址。DNS 服务器为用户分配一个 IP 地址,用于识别和传送结果。通过导航到该网站,客户端触发了用户只能通过 Web 服务器提供的 HTTP 响应访问的特定 Web 内容。在这种情况下,最终用户是获得数字内容的客户。DNS 服务器和网络服务器建立并促进与托管网络内容的数据库的连接。
客户端-服务器模型的优缺点
不同类型的客户端-服务器架构
四种类型的客户端-服务器框架代表了客户端-服务器关系如何随着网络的进步而演变。
1 层:多合一系统
所有客户端-服务器配置设置、用户界面、业务逻辑和数据库逻辑都位于基本客户端-服务器架构中的网络设备上。通常仅限于较小的网络,1 层框架在同一台机器上包括表示层、业务层和数据访问层。
2 层:客户端和服务器
2 层体系结构将服务器添加到组合中,并将表示层与用户界面分开,客户端在其中发出超出其功能的请求。客户端和服务器在不同级别承担更多业务和数据库逻辑,为管理员提供一些控制权。
3 层:中间件
为了进一步保护和丰富 2 层架构,该框架在客户端层(表示层)和服务器层(数据库层)之间加入了中间件。该应用层提供了第三层,支持更复杂的业务逻辑管理。Web 应用程序服务器等中间件示例提供负载平衡、增加的存储和安全性。
N 层:多层架构
在 3 层架构的基础上,N 层描述了进一步使用中间件来分割网络流量和功能。尽管这会带来更大的复杂性,但现代企业组织需要多层架构的灵活性、可扩展性和安全性。
点对点 vs 客户端-服务器
尽管客户端-服务器框架是最流行的分布式架构,但提到的最常见的替代方案是对等 (P2P) 网络。与提供从组织服务器到员工、利益相关者和客户的集中式流程的客户端-服务器架构不同,对等网络是分散的。网络设备与特定的专用服务器不一致。相反,P2P 网络包括称为节点的网络设备(客户端),它们在彼此之间提交和服务请求。由于像区块链这样的 P2P 网络以分布式方式工作,因此连接性对运营至关重要。相对于传统网络,节点往往更加异构,跨网络共享的数据更少。客户端-服务器模型的设置和维护成本更高,但集中式框架的可靠性和可扩展性始终超过点对点框架的缺点。
企业选择的分布式架构
凭借集中数据控制、工作负载平衡、增加安全性和冗余等优势,客户端-服务器模型是适用于中小型企业乃至企业组织的近乎通用的框架。与 P2P 网络相比,很容易理解为什么客户端-服务器模型将网络的数字操作扩展到这一点。随着组织的发展,需要采用额外的客户端-服务器架构层来维护 IT 基础架构和正确保护数据完整性。为了为全球数百万客户和利益相关者提供服务,企业需要一个只有客户端-服务器模型才能提供的强大的分布式框架。