集中式架构vs分布式架构

06-01 1361阅读

一、集中式架构

如何准确理解集中式架构

1. 集中式架构的定义

集中式架构是一种将系统的所有计算、存储、数据处理和控制逻辑集中在一个或少数几个节点上运行的架构模式。这些中央节点(服务器或主机)作为系统的核心,负责处理所有用户请求和业务逻辑,客户端只负责请求和展示。

2. 核心特性
  • 单一控制中心: 所有服务和资源都由中央节点统一管理。
  • 资源集中管理: 数据和计算资源位于同一位置,便于维护和扩展。
  • 高一致性: 由于资源集中管理,数据一致性容易实现。
  • 低通信复杂度: 客户端只需与中央节点交互,不需要节点间通信协调。

    集中式架构都包括哪些架构?

    集中式架构可以分为以下几种常见的架构形式:

    1. 客户端-服务器架构(C/S 架构)
    • 定义: 系统由客户端和服务器两部分组成,客户端负责用户交互,服务器负责业务逻辑和数据存储。
    • 特点:
      • 客户端通过特定协议(如 TCP/IP)与服务器通信。
      • 服务器集中处理所有业务逻辑和存储数据。
    • 典型场景:
      • 企业办公系统(如旧版邮件客户端、OA 系统)。
      • 数据库客户端(如 MySQL Workbench)。
      2. 单体架构(Monolithic Architecture)
      • 定义: 所有功能模块(如业务逻辑、数据访问、用户界面)在一个应用程序中实现,运行在一个中央服务器上。
      • 特点:
        • 应用高度耦合,部署和维护简单。
        • 随着规模增大,可能难以扩展。
      • 典型场景:
        • 小型电商网站。
        • 初创阶段的单一业务系统。
        3. 主机-终端架构
        • 定义: 中央主机(Mainframe)负责处理所有业务逻辑和存储数据,终端设备仅负责显示和输入。
        • 特点:
          • 主机提供强大的计算能力和存储能力。
          • 终端设备功能简单,依赖主机运行。
        • 典型场景:
          • 传统银行系统(如老式 ATM 系统)。
          • 早期的政府管理系统。
          4. 集中式数据库架构
          • 定义: 数据库集中存储在一个中央节点上,所有的读写操作都通过该节点进行。
          • 特点:
            • 数据一致性高。
            • 性能和可靠性依赖于中央数据库的能力。
          • 典型场景:
            • 中小型企业的 ERP 系统。
            • 单服务器运行的 CRM 系统。

            案例分析与说明

            案例 1:银行核心业务系统
            • 架构形式: 主机-终端架构。
            • 工作方式:
              • 客户端(如银行柜员系统)向中央主机发送请求。
              • 主机处理业务逻辑(如账户余额查询、转账)并返回结果。
            • 优点:
              • 高度安全,所有敏感数据只存储在中央主机。
              • 数据一致性容易维护。
            • 缺点:
              • 随着客户增加,主机可能成为性能瓶颈。
              案例 2:传统电商网站
              • 架构形式: 单体架构。
              • 工作方式:
                • 一个服务器托管整个网站,包括用户管理、商品展示、支付功能。
                • 用户通过浏览器访问服务器,所有请求集中处理。
              • 优点:
                • 部署和维护简单,适合初期开发。
                • 开发周期短,成本低。
              • 缺点:
                • 难以应对高并发。
                • 模块间耦合度高,扩展困难。
                案例 3:集中式数据库
                • 架构形式: 集中式数据库架构。
                • 工作方式:
                  • 应用程序通过 SQL 查询中央数据库,完成数据的读写。
                • 优点:
                  • 数据强一致性,事务处理方便。
                  • 易于管理备份和恢复。
                • 缺点:
                  • 单点故障风险高。
                  • 难以处理大规模并发读写。

                  集中式架构的优缺点

                  优点
                  1. 开发简单: 系统架构简单,适合快速构建和部署。
                  2. 高一致性: 数据和逻辑集中管理,不易出现分布式一致性问题。
                  3. 安全性强: 数据存储在中央节点,便于统一实施安全策略。
                  4. 易于维护: 故障排查和版本更新集中在中央节点上。
                  缺点
                  1. 单点故障: 中心节点宕机时,整个系统将不可用。
                  2. 扩展性差: 随着用户增长,单一节点容易成为瓶颈。
                  3. 性能受限: 中央节点的处理能力限制了系统的整体性能。
                  4. 地理延迟问题: 地理位置远的客户端访问中心节点可能会有较高延迟。

                  总结

                  • 集中式架构的核心思想: 将系统的计算和存储集中在一个中心位置,以实现简单高效的管理和一致性保障。
                  • 常见形式: 客户端-服务器架构、单体架构、主机-终端架构、集中式数据库架构。
                  • 典型场景:
                    • 中小型系统或初创项目(开发简单,部署成本低)。
                    • 数据一致性要求较高的场景(如银行系统、库存管理)。

                    集中式架构适合小规模、低复杂度的场景,但在需要扩展性和容错性时,通常会向分布式架构演进。

                    二、分布式架构

                    如何准确理解分布式架构

                    1. 分布式架构的定义

                    分布式架构是一种将计算、存储和业务逻辑分散到多个独立节点(服务器或机器)上的架构模式。这些节点通过网络协同工作,共同完成任务。分布式架构旨在提高系统的性能、扩展性、容错性和可用性。

                    2. 核心特性
                    1. 分布式计算: 各个节点分担计算任务,提升处理能力。
                    2. 分布式存储: 数据分散存储在不同节点上,便于扩展和容错。
                    3. 高可用性: 单个节点故障不会导致整个系统宕机。
                    4. 扩展性强: 可以通过增加节点水平扩展系统能力。
                    5. 通信协调: 节点间通过网络通信进行数据同步和任务分配。

                    分布式架构都包括哪些架构?

                    分布式架构包含以下常见的架构模式:

                    1. 分布式计算架构
                    • 定义: 将一个大任务分解为多个小任务,分发到不同节点处理,最后汇总结果。
                    • 特点:
                      • 适用于计算密集型任务。
                      • 典型实现有 MapReduce、Hadoop 等框架。
                    • 典型场景:
                      • 大数据分析。
                      • 科学计算(如基因分析、气象模拟)。
                      2. 分布式存储架构
                      • 定义: 数据被分散存储在多个节点上,提供高容量和高可用的数据服务。
                      • 特点:
                        • 支持高并发访问。
                        • 提供数据分片、冗余备份和自动恢复能力。
                      • 典型场景:
                        • 云存储(如 Amazon S3、Google Cloud Storage)。
                        • 分布式数据库(如 MongoDB、Cassandra)。
                        3. 微服务架构
                        • 定义: 将系统划分为多个独立的小服务,每个服务负责一个具体功能,并通过 API 通信。
                        • 特点:
                          • 服务独立部署和扩展。
                          • 每个服务可以使用不同的技术栈。
                        • 典型场景:
                          • 电商系统(如订单服务、支付服务、库存服务)。
                          • SaaS 应用。
                          4. 服务网格(Service Mesh)架构
                          • 定义: 专注于微服务间通信的管理和优化,通过代理节点实现服务发现、负载均衡、流量控制等功能。
                          • 特点:
                            • 提供服务间通信的可观测性和安全性。
                            • 常见实现:Istio、Linkerd。
                          • 典型场景:
                            • 大规模微服务集群。
                            5. 分布式消息队列架构
                            • 定义: 基于发布-订阅模型,提供异步消息通信和解耦功能。
                            • 特点:
                              • 消息持久化和高吞吐。
                              • 常见实现:Kafka、RabbitMQ、ActiveMQ。
                            • 典型场景:
                              • 日志处理、事件流处理。
                              6. 分布式事务架构
                              • 定义: 在分布式系统中,保证事务操作具有原子性、一致性、隔离性和持久性(ACID)。
                              • 特点:
                                • 常用的协议有两阶段提交(2PC)、三阶段提交(3PC)。
                                • 分布式事务协调器管理事务状态。
                              • 典型场景:
                                • 银行跨行转账系统。
                                • 电商订单支付和库存扣减。
                                7. 点对点架构(P2P)
                                • 定义: 所有节点都具有对等地位,可以既是服务的消费者,又是服务的提供者。
                                • 特点:
                                  • 无中心化控制,节点自主工作。
                                  • 适用于分布式文件共享和区块链。
                                • 典型场景:
                                  • 区块链(如比特币、以太坊)。
                                  • 文件共享(如 BitTorrent)。

                                  案例分析与说明

                                  案例 1:Hadoop 分布式计算
                                  • 架构形式: 分布式计算架构。
                                  • 工作方式:
                                    • 使用 MapReduce 将大任务拆分为多个小任务,分发到各个计算节点。
                                    • 各节点并行处理数据,并将结果汇总。
                                  • 应用场景:
                                    • 大数据处理(如日志分析、机器学习)。
                                    案例 2:Amazon S3 云存储
                                    • 架构形式: 分布式存储架构。
                                    • 工作方式:
                                      • 数据存储在多个地理位置的服务器上,提供高可用性和冗余备份。
                                      • 用户通过 API 访问存储资源。
                                    • 应用场景:
                                      • 静态文件托管。
                                      • 数据备份和归档。
                                      案例 3:电商系统中的微服务架构
                                      • 架构形式: 微服务架构。
                                      • 工作方式:
                                        • 用户下单请求由订单服务处理,库存服务检查商品库存,支付服务处理付款。
                                        • 各个服务通过 REST 或 RPC 互相通信。
                                      • 应用场景:
                                        • 大型电商平台(如淘宝、亚马逊)。
                                        案例 4:Kafka 消息队列
                                        • 架构形式: 分布式消息队列架构。
                                        • 工作方式:
                                          • 系统中不同模块通过 Kafka 发布或订阅消息,解耦模块间的依赖。
                                        • 应用场景:
                                          • 实时日志处理。
                                          • 数据流处理。

                                          分布式架构的优缺点

                                          优点
                                          1. 高扩展性: 可以通过增加节点水平扩展处理能力。
                                          2. 高可用性: 某些节点故障不会影响整体系统。
                                          3. 性能优越: 各节点分担工作负载,减少单点压力。
                                          4. 灵活性强: 可以根据不同需求调整节点功能和配置。
                                          缺点
                                          1. 复杂性高: 节点间通信、数据同步和协调难度大。
                                          2. 一致性问题: 需要额外机制保证数据一致性(如 CAP 原则)。
                                          3. 部署成本高: 涉及更多硬件资源和管理工具。
                                          4. 调试困难: 故障定位和问题排查复杂。

                                          集中式架构与分布式架构对比

                                          特性集中式架构分布式架构
                                          控制方式单点控制,所有功能集中于中心节点多节点协同工作,共同完成任务
                                          扩展性扩展性差,中心节点可能成为瓶颈扩展性强,可水平扩展节点数量
                                          容错性单点故障影响整体系统单节点故障不会影响整体可用性
                                          一致性一致性强,数据集中管理需要复杂机制保证一致性(可能是最终一致性)
                                          复杂性设计和维护简单设计复杂,涉及节点间协调和通信

                                          总结

                                          • 分布式架构的核心思想: 通过分布和并行,提升系统的性能、扩展性和容错能力。
                                          • 常见形式: 分布式计算、分布式存储、微服务架构、服务网格等。
                                          • 典型场景:
                                            • 数据处理场景(如 Hadoop)。
                                            • 高并发系统(如微服务电商)。
                                            • 数据共享和协作(如区块链)。

                                            分布式架构适用于大规模、高并发、高可用的场景,但设计和维护的复杂性需要更多的技术投入和运维保障。

                                            集中式架构vs分布式架构
                                            (图片来源网络,侵删)
                                            集中式架构vs分布式架构
                                            (图片来源网络,侵删)
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码