网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

分布式系统中的集中式架构

更新时间:2026年03月27日   作者:spoto   标签(Tag):

集中式架构的特点是,每个节点都连接到一个中央协调系统。所有需要交换的信息都由该系统来共享。集中式架构并不要求所有的功能都必须集中在同一个地方或电路上,而是让大部分功能被集中在一起,而不会像分布式架构那样出现重复的功能。

它包含以下几种架构类型:

  • 客户端-服务器模型
  • 应用程序分层

客户端-服务器模型

在分布式系统中,各种进程被划分为两组(这两组可能有所重叠)。服务器是一种提供特定服务的程序,比如数据库服务或文件系统服务等。而客户端则是一个负责向服务器发送请求的程序,然后等待服务器的响应,之后再请求相应的服务。这种客户端与服务器的交互方式,也被称为“请求-响应模式”。如下图所示:

客户端-服务器模型

当底层网络具有相当高的可靠性时,就像许多局域网那样,客户端与服务器之间的通信可以通过一种简单的无连接协议来实现。 在这种情况下,客户在提出服务请求时,只需向服务器发送一个消息,其中包含他们想要的服务信息以及相关的输入数据即可。 之后,服务器会接收到这条消息。 而后者则始终会等待来自客户端的请求,处理该请求后,再将结果以回复消息的形式发送给客户端。

效率是使用该工具的明显优势。无连接协议只要通信过程没有中断或出现错误,那么所设计的请求/回复协议就可以正常工作。不过,要让该协议能够很好地应对偶尔出现的传输错误,其实并不容易。当没有收到任何回复消息时,我们唯一的办法就是让客户端重新发送请求。但是,客户端很难判断出原始请求消息是否丢失了,或者回复消息的传输是否失败了。

许多客户端-服务器系统都采用一种可靠的、面向连接的协议作为替代方案。不过,由于这种协议的性能相对较差,因此它并不完全适合用于局域网环境。不过,它仍然适用于其他场景。广域网络在那种沟通方式本质上不可靠的情况下。

应用程序分层

不过,许多人主张在这三个层次之间进行区分。实际上,这种分层架构的方法与我们之前所描述的类似。因为,许多客户端-服务器应用程序的目的就是让用户能够访问数据库。

  • 用户界面层级
  • 处理级别
  • 数据级别

与用户进行交互所需的全部功能,比如直接进行显示管理,都集中在用户界面层面。而应用程序则通常位于处理器层面。用于做出决策的实际数据则被管理在数据层面。

用户界面层级

用户界面层通常由客户端来实现。那些允许用户与应用程序进行交互的程序就属于这一层次。不同应用程序的复杂程度差异很大。以字符为基础的屏幕是最基础的用户界面应用。
通常,大型机环境都采用了这种接口方式。在大型机负责处理所有交互操作的场景中,几乎不会使用客户端-服务器架构。因为在这种情况下,大型机本身就承担了所有交互功能的处理工作,包括键盘和显示器的操作。

处理级别

这是整个架构的中间部分。它属于系统的逻辑组成部分,所有与用户交互以及数据处理相关的操作都在这里进行。它负责处理来自用户界面的请求,并执行相应的操作。

数据级别

该数据级别为客户端-服务器模型它包含了那些用于维护应用程序运行所需数据的程序。这一层次的一个重要特性是,这些数据通常是持久性的,也就是说,即使没有任何应用程序在运行,这些数据仍然会被保存在某个地方,以便后续使用。最简单的情况下,数据层由文件系统构成;不过,更常见的情况是使用完整的数据库来存储数据。在客户端-服务器模型中,数据层通常位于服务器端。

例如:

互联网搜索引擎分为三个不同的层次结构

以互联网搜索引擎为例。搜索引擎的用户界面非常简洁:用户只需输入一组关键词,然后就会得到与这些关键词相关的网页标题列表。搜索引擎的“后端”则是由一个庞大的网页数据库构成的,这些网页已经过预抓取和索引处理。搜索引擎的核心部分是一段程序,它可以将用户输入的关键词转换成一种或多种形式。数据库之后,系统会将这些结果进行排序,并将它们整理成一系列HTML页面。在客户端-服务器模型中,这种信息检索功能通常位于处理层。

结论

总的来说,集中式架构确实更容易管理和保护系统安全,但对于那些需要高可扩展性、高性能或容错能力的应用程序来说,这种架构可能并不适合。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料