【架构】五大常见架构模式,集中式架构、分布式架构、面向服务的系统架构、微服务架构等区别详解

​​​​​​​​

一、传统上,信息系统体系架构有三种常见模式

(见表 4-3):

  • ①、集中式架构。集中式架构下所有内容采用集中建设、支持和管理的模式,其主体系统通常部署千数据中心,以消除管理物理分离的基础设施带来的困难。

    在集中式架构中,所有的计算资源和数据存储都集中在一个地方。通常有一个中心服务器或者主数据库,所有的客户端应用程序都连接到这个中心服务器来获取数据或者执行计算任务。这种模式简单、易于管理,但是存在单点故障的风险,当中心服务器发生故障时,整个系统将不可用。

  • ②、分布式架构。硬件、软件、网络和数据的部署方式是在多台小型计算机、服务器和设备之间分配处理能力和应用功能,这些设施严重依赖千网络将它们连接在一起。

    分布式架构将计算资源和数据存储分散在多个地方 。系统由多个独立的节点组成,这些节点可以在不同的物理位置上,通过网络进行通信和协作。分布式架构具有高可用性和容错性,因为没有单点故障,即使某些节点发生故障,系统仍然可以继续运行。分布式架构通常用于大规模的互联网应用程序和云计算环境中。

  • ③、面向服务的系统架构 (Service-Oriented Architecture, SOA) SOA 架构中使用的软件通常被引向软件即服务 (Software-as-a-Service, Saas) 的相关架构,同时,这些应用程序在通过互联网交付时也被称为 Web 服务。

二、其他常见模式

  1. 客户端-服务器模式(Client-Server):

    在这种模式下,系统由两个主要组件组成:客户端和服务器。客户端负责向用户提供界面和交互功能,而服务器则负责存储数据和执行应用程序逻辑。客户端和服务器之间通过网络进行通信。这种模式通常用于企业级应用程序和Web应用程序。

    一个常见的例子是电子邮件系统。在这个系统中,用户使用电子邮件客户端(如Outlook、Gmail等)作为客户端,通过网络连接到电子邮件服务器,发送和接收电子邮件。服务器负责存储用户的电子邮件,并在需要时向客户端提供访问。这种模式允许用户通过客户端与服务器进行通信,而无需了解服务器的内部工作原理。

  2. 微服务架构模式(Microservices Architecture):

    微服务架构将应用程序拆分为一组小型、自治的服务,每个服务都专注于一个特定的业务功能。这些服务可以独立部署、扩展和更新,从而提高了系统的灵活性和可维护性。微服务架构通常与容器化技术(如Docker)和服务发现工具(如Kubernetes)结合使用,以简化部署和管理。

    在线社交网络为例。在这个系统中,可以将不同的功能拆分为微服务,如用户管理服务、帖子服务、评论服务等。每个微服务都可以独立部署、扩展和更新,从而提高了系统的灵活性和可维护性。例如,如果需要对评论功能进行更新,只需更新评论服务,而不会影响其他服务的运行。

三、微服务模式和分布式模式区别

  • 微服务架构:微服务解决的是系统复杂度 问题:一般来说是业务问题,即在一个系统中承担职责太多了,需要打散,便于理解和维护,进而提升系统的开发效率和运行效率,微服务一般来说是针对应用层面的。微服务如果用在其它系统,如存储系统感觉怪怪的,就像说Mysql集群是微服务的,总觉得哪里不舒服。
  • 分布式架构:分布式解决的是系统性能 问题: 即解决系统部署上单点的问题,尽量让组成系统的子系统分散在不同的机器上进而提高系统的吞吐能力。强调一个物理上分布的概念。

四、微服务架构可以看作是面向服务架构的一种实现方式

微服务架构模式(Microservices Architecture)和面向服务的架构模式(Service-Oriented Architecture,SOA)有一些相似之处,但它们并不完全相同。

微服务架构模式是一种更加细粒度的服务架构,它将应用程序拆分为一组小型、自治的服务,每个服务都专注于一个特定的业务功能。这些服务可以独立部署、扩展和更新,从而提高了系统的灵活性和可维护性。微服务架构通常与容器化技术(如Docker)和服务发现工具(如Kubernetes)结合使用,以简化部署和管理。

而面向服务的架构(SOA)是一种更宽泛的概念,它强调将应用程序的功能分解为可重用的服务,这些服务可以通过网络进行交互。每个服务都是独立的、自包含的单元,可以通过标准化的接口进行访问。SOA并没有规定服务的大小或粒度,因此可以包括各种不同类型的服务,从较大的服务到微小的服务。

因此,微服务架构可以看作是面向服务架构的一种实现方式,它强调了更小、更自治的服务单元,并且通常与现代的云原生技术结合使用,以支持敏捷开发和部署。

相关推荐
条tiao条2 小时前
MVVM架构与ArkUI状态管理
华为·架构·harmonyos·鸿蒙·mvvm
歪歪歪比巴卜4 小时前
服务商批量接手客户跨平台社媒账号的技术落地:体检体系与重启架构
矩阵·架构·aigc
BerryS3N4 小时前
2026年AI前沿技术全景深度解析:大模型推理范式变革、Agentic AI工程架构与底层基础设施演进
人工智能·架构
神王宝宝 王者小学4 小时前
面向领域驱动架构的查询实现方式
前端·python·架构
国科安芯5 小时前
低轨卫星姿态与轨道控制系统中高可靠MCU的选型研究——基于AS32S601的抗辐照性能试验数据分析
分布式·科技·单片机·嵌入式硬件·系统架构
计算机魔术师5 小时前
传统基础架构 - 微服务
大数据·后端·微服务·架构·开发工具·编程语言
晨米酱6 小时前
Matt Pocock Skills v1.2:控制从主流程深入到每一步
面试·架构·agent
大卫陈6 小时前
PCB 拼版系统近期迭代复盘:大小拼跃迁、横直料重构与引擎打磨
后端·架构
谢白羽6 小时前
SGLang源码剖析-2-sglang双层体系架构全景
分布式·架构·llm·vllm·sglang
茨球是只猫7 小时前
A 股 AI 量化全链路系统技术拆解:分层架构、双引擎验证与低换手实盘闭环
人工智能·机器学习·架构·量化交易