关于分布式架构的优缺点、问题、层级、技术栈等的归纳

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

本篇文章主要源自本人自学左耳朵耗子的专栏中的相关分布式的文章归纳而来。

https://coolshell.cn/  该专栏作者自己的博客,推荐一下

目录

什么是分布式架构

为什么要使用分布式架构

分布式架构的优点

分布式架构的缺点

单体应用和分布式架构的比较

分布式架构解决了什么问题

分布式系统的发展

分布式系统需要注意的问题

异构系统的不标准问题

系统架构中的服务依赖性问题

故障发生的概率更大

多层架构的运维复杂度更大

分布式架构层级

配置管理

分布式架构技术栈

提高架构的性能

提高架构的稳定性

分布式系统的关键技术

分布式系统核心

全栈监控

全栈监控需要完成的功能

多层体系的监控

监控的标准化

什么才是好的监控系统

如何做出一个好的监控系统

服务调度

服务调度关键技术

服务关键程度和服务的依赖关系

服务状态和生命周期的管理

整个架构的版本管理

资源 / 服务调度

流量与数据调度

流量调度

状态数据调度:

分布式事务一致性的问题

数据结点的分布式方案

PaaS平台介绍

软件工程能力主要体现

PaaS 平台的本质

PaaS 平台的总体架构

PaaS 平台的生产和运维

总结:

构建分布式系统,面临的主要问题

解决方案



什么是分布式架构

相对单机而言,分布式至少是多机部署,多机共同分担任务处理(源自一位网友)

为什么要使用分布式架构

分布式架构的优点

  • 增大系统容量:垂直或是水平拆分业务系统,让其变成一个分布式的架构
  • 加强系统可用:通过分布式架构来冗余系统以消除单点故障,从而提高系统的可用性
  • 模块重用度高
  • 软件服务模块被拆分,开发和发布速度可以并行而变得更快
  • 系统扩展性更高
  • 团队协作流程改善

分布式架构的缺点

  • 架构设计变得复杂(尤其是其中的分布式事务)
  • 部署单个服务会比较快,但是如果一次部署需要多个服务,流程会变得复杂
  • 系统的吞吐量会变大,但是响应时间会变长
  • 运维复杂度会因为服务变多而变得很复杂
  • 架构复杂导致学习曲线变大
  • 测试和查错的复杂度增大
  • 技术多元化,这会带来维护和运维的复杂度
  • 管理分布式系统中的服务和调度变得困难和复杂

单体应用和分布式架构的比较

 

分布式架构解决了什么问题

  • 大流量处理:通过集群技术把大规模并发请求的负载分散到不同的机器上
  • 关键业务保护:提高后台服务的可用性,把故障隔离起来阻止多米诺骨牌效应(雪崩效应)。如果流量过大,需要对业务降级,以保护关键业务流转

分布式系统的发展

  • 20 世纪 90 年代前,是单体架构,软件模块高度耦合
  •  2000 年左右出现了比较松耦合的 SOA 架构:一个标准的协议或是中间件来联动其它相关联的服务(如 ESB);服务间并不直接依赖,而是通过中间件的标准协议或是通讯框架相互依赖
  • 2010 年后,出现了微服务架构:松耦合;每一个微服务都能独立完整地运行(自包含);数据库根据服务分库;

微服务的意义:微服务的出现使得开发速度更快,部署快,隔离性高,系统的扩展度好,但是在集成测试、运维和服务管理等方面比较麻烦。所以,需要一套比较好的微服务 PaaS 平台。就像 Spring Cloud 一样需要提供各种配置服务、服务发现、智能路由、控制总线……还有像 Kubernetes 提供的各式各样的部署和调度方式。

分布式系统需要注意的问题

异构系统的不标准问题

  • 软件和应用不标准
  • 通讯协议不标准
  • 数据格式不标准
  • 开发和运维的过程和方法不标准

系统架构中的服务依赖性问题

  • 如果非关键业务被关键业务所依赖,会导致非关键业务变成一个关键业务
  • 服务依赖链中,出现“木桶短板效应”——整个 SLA 由最差的那个服务所决定

解决思路:

  • 定义出服务的关键程度
  • 服务调用的主要路径
  • 数据库方面也需要做相应的隔离,一个业务线用一套自己的数据库

故障发生的概率更大

  • 故障恢复时间过长
  • 故障影响面过大

解决思路:

  • 监控关键指标
  • 自动化的方式恢复故障,减少故障影响面

多层架构的运维复杂度更大

  • 任何一层的问题都会导致整体的问题
  • 没有统一的视图和管理,导致运维被割裂开来,造成更大的复杂度
  • 按技能分工导致各管各的,分工后的协作是否统一和规范

分布式架构层级

  • 基础层:机器、网络和存储设备等
  • 平台层:中间件层,Tomcat、MySQL、Redis、Kafka 之类的软件
  • 应用层:业务软件,比如,各种功能的服务
  • 接入层:接入用户请求的网关、负载均衡或是 CDN、DNS等

配置管理

  • 底层和操作系统相关:底层和中间层是不能让用户灵活修改的,而是只让用户选择
  • 中间层和中间件相关
  • 最上面和业务应用相关

分布式架构技术栈

提高架构的性能

  • 缓存系统:对于分布式系统下的缓存系统,需要的是一个缓存集群。这其中需要一个 Proxy 来做缓存的分片和路由。
  • 负载均衡系统:水平扩展的关键技术,它可以使用多台机器来共同分担一部分流量请求
  • 异步调用:主要通过消息队列来对请求做排队处理,把前端的请求的峰值给“削平”,后端通过能够处理的速度来处理请求。这样可以增加系统的吞吐量,但是实时性较差。同时,还会引入消息丢失的问题,所以要对消息做持久化,这会造成“有状态”的结点,从而增加了服务调度的难度
  • 数据分区和数据镜像:数据分区是把数据按一定的方式分成多个区(比如通过地理位置),不同的数据区来分担不同区的流量。需要一个数据路由的中间件,会导致跨库的 Join 和跨库的事务非常复杂。数据镜像是把一个数据库镜像成多份一样的数据,不需要数据路由的中间件。可以在任意结点上进行读写,内部会自行同步数据。数据镜像中最大的问题就是数据的一致性问题

提高架构的稳定性

  • 服务拆分:一是为了隔离故障,二是为了重用服务模块。但服务拆分完之后,会引入服务调用间的依赖问题。
  • 服务冗余:为了去除单点故障,并可以支持服务的弹性伸缩,以及故障迁移。弹性伸缩时,需要考虑数据的复制或是重新分片,迁移的时候还要迁移数据到其它机器上
  • 限流降级:当系统实在扛不住压力时,只能通过限流或者功能降级的方式来停掉一部分服务,或是拒绝一部分用户,以确保整个架构不会挂掉
  • 高可用架构:通常来说高可用架构是从冗余架构的角度来保障可用性。比如,多租户隔离,灾备多活,或是数据可以在其中复制保持一致性的集群。总之,就是为了不出单点故障
  • 高可用运维:高可用运维指的是 DevOps 中的 CI/CD(持续集成 / 持续部署)。一个良好的运维应该是一条很流畅的软件发布管线,其中做了足够的自动化测试,还可以做相应的灰度发布,以及对线上系统的自动化控制。这样,可以做到“计划内”或是“非计划内”的宕机事件的时长最短。

分布式系统的关键技术

    理解多层分布式架构、剖析webservice、remoting技术 客户端调用时需要生成一个代理类   WCF的宿主程序: IIS、控制台程序、。。。   高层不应该依赖于底层,而是应该依赖于抽象;在高层与底层之间形成一个抽象层。 也就是说高层与底层之间的依赖是松散的,松散耦合。 契约编程带来的意义:接口的意义。   如果我们采用类库的形  它会给我们提供测试客户端。   服务是一组向客户端提供可用功能的端点(Endpoints)。而端 阅读详情

    相关推荐

    分布式理论:关于一致性讨论

    一、回顾分布式特点    1.集中特点       一台或多台计算机组成中心接节点,所有的数据都存在中心节点上。Client端只负责数据的展示,Server处理数据的存储和处理。显而易见,优点是结构简单容易部署,无需考虑服务多个节点部署,更不用考虑节点之间的协调。缺点是系统性能以来中心节点的性能,无法水平扩展。    2.分布式特点      对等:各个节点没有主次之分

    Weiguang_123的专栏 4105

    分布式系统架构优缺点

    分布式系统架构的特点: 1、吞吐量更大、执行效率更高(水平拓展、垂直分层) 2、高可用(消除单点、冗余备份) 3、拓展性更高 4、难在系统设计、管理和运维。因为更加开放,技术多样、插件丰富,所以也降低了复杂度。 参考阅读: 什么是分布式系统!以及分布式系统架构优缺点! ......

    Learning 5870

    RAG与CAG混合架构:大模型知识集成的分层加速方案

    大模型本身不具备持久化记忆能力,其知识调用必须依赖外部机制——这催生了以检索增强生成(RAG)和缓存增强生成(CAG)为代表的两类核心知识集成范。RAG通过向量检索实现按需获取高熵、动态知识,保障答案可审计与实时更新;CAG则依托语义归一化缓存提供低熵、确定性响应,显著降低延迟与GPU开销。二者并非替代关系,而是面向知识熵值分层的工程协同:高频稳定内容进CAG,中低频易变内容走RAG。在AI应用落地中,RAG与CAG的混合部署已成为平衡响应速度、准确率与运维成本的关键基础设施,尤其适用于私有知识库接入、客

    ajwqb06628的专栏 363

    简单理解分布式的优点是什么

    1、增大系统容量。我们的业务量越来越大,而要能应对越来越大的业务量,一台机器的性能已经无法满足了,我们需要多台机器才能应对大规模的应用场景。所以,我们需要垂直或是水平拆分业务系统,让其变成一个分布式架构。 2、加强系统可用。我们的业务越来越关键,需要提高整个系统架构的可用性,这就意味着架构中不能存在单点故障。这样,整个系统不会因为一台机器出故障而导致整体不可用。所以,需要通过分布式架构来冗余系统以消除单点故障,从而提高系统的可用性。 3、因为模块化,所以系统模块重用度更高 4、因为软件服务模块被拆分,开发

    qq_36448587的博客 4625

    什么是分布式架构,有什么优势

    现在的互联网项目是分布式的时代,到底什么是分布式呢,分布式是怎样的结构,又解决了写什么问题呢,这里转载一篇宏观文章:http://www.cnblogs.com/Survivalist/p/8012266.html#3863158 架构拆分的演变: 传统项目的架构: 特点:   1.all in one(所有模块在一起,技术也不分层),   注:像05年06年那会儿,就是这样,把代码写在jsp里面,那时候还没有分层的概念,把所有的东西都写在一起,这就叫做all in one   2.servlet(j.

    qq_41595452的博客 1万+

    Elasticsearch 数据建模全解析 —— 嵌套与父子关系实践

    嵌套与父子是ES处理复杂结构的两大利器,需结合数据量、查询场景权衡取舍。设计需前置规划,不可随意更改结构,否则代价极大。熟练掌握mapping与查询DSL,是高效开发Elasticsearch应用的基石。深入理解底层实现,有助于调优与排查疑难问题。集成与扩展让ES发挥更大价值,服务于多样化业务需求。知其然,更知其所以然。掌握ES数据建模,不仅是工具的使用,更是对数据结构与检索哲学的深刻思考。如需获取更多实战代码或问题解答,欢迎留言交流!

    IT技术学习与工作笔记分享 768

    GLM-4-9B-Chat-1M效果展示:300页技术白皮书自动提炼架构图+关键结论

    本文介绍了如何在星图GPU平台自动化部署GLM-4-9B-Chat-1M镜像,实现超长技术文档的智能分析。该模型能一次性处理200万字文本,自动提炼技术白皮书中的关键结论和架构图,大幅提升研发团队和专业人士的文档处理效率。

    weixin_31720909的博客 812

    架构设计文档撰写指南:从沟通工具到工程蓝图的核心要素与实践

    架构设计是软件工程中控制复杂度、保障系统长期可演进的核心活动。其本质是在明确约束条件下,通过分层与抽象,寻找满足功能性需求与非功能性需求的最优技术方案。一份优秀的架构设计文档,作为关键的设计决策载体和团队沟通工具,能够有效降低协作成本、固化技术决策并指引系统构建。它需要清晰阐述业务背景、量化设计目标,并详细描述从逻辑视图、数据设计到部署运维的完整方案,同时涵盖风险评估与应对策略。本文聚焦于架构设计文档的撰写逻辑与核心模块,深入探讨如何通过C4模型等工具绘制清晰的架构图,并分享在微服务、高可用性、可扩展性等常

    weixin_34347651的博客 370

    前沿 | 具身智能的“大脑”与“小脑”:整体架构与小脑运控分析

    摘要: 本文基于生物“大脑-小脑”分工机制,系统剖析具身智能机器人的分层架构设计。其中,“大脑”负责感知决策(如VLA大模型、分层规划),解决“做什么”问题;“小脑”专注运动控制(模型预测、模仿学习、强化学习),解决“怎么做”问题。文章详细对比了三大控制技术路线的优劣,指出强化学习在步态控制中的主导地位,并探讨力控与运控的融合趋势。通过构建从架构设计到算法实现的完整技术地图,为具身智能的“双脑协同”发展提供系统性参考。

    Robot-Nav的博客 2411

    大模型系统开发能力体系

    本文系统梳理了大模型开发的核心知识体系,分为底层认知层和模型演进层。底层认知层涵盖机器学习基础概念(张量、梯度、链法则、概率分布)和LLM关键参数(Token、上下文窗口、温度等控制参数)。模型演进层分析主流架构发展:CNN通过局部感受野处理图像,RNN/LSTM用于序列建模但存在并行性差等问题,Transformer凭借自注意力机制实现全局依赖建模成为当前主流。全文提供了参数组合策略等技术细节,为开发者构建了从理论基础到实践应用的能力框架。

    weixin_45130169的博客 1155

    2026毕设ssm+vue农产品直销平台论文+程序

    本研究基于SSM(Spring+SpringMVC+MyBatis)和Vue.js技术栈开发中小型电商平台,采用前后端分离架构。系统包含用户管理、商家入驻、商品分类展示、热销产品推荐等核心功能模块,通过RESTful API实现数据交互。研究重点解决多角色权限控制、商品推荐算法、高并发数据一致性等技术难点,采用MyBatis优化查询、Vuex状态管理等解决方案。项目使用MySQL5.7数据库,Maven3.3.9构建,部署于Tomcat7.0服务器,旨在为中小企业提供低成本、易维护的电商系统解决方案,推动数

    sheji5998的博客 638

    2026后端校招面试逻辑变革:从知识复述到能力涌现的实战指南

    后端开发领域,扎实的计算机基础是构建复杂系统的基石。理解操作系统、网络协议、数据结构和算法等核心原理,是工程师解决实际问题的底层能力。这些知识通过系统设计转化为技术价值,例如,利用Redis的ZSet数据结构实现高性能实时排行榜,或结合哈希表与双向链表设计LRU缓存,都是将理论应用于高并发、低延迟业务场景的典型实践。随着业务复杂度提升,面试重点正从考察知识点的记忆,转向评估候选人运用知识体系解决模糊、开放性场景问题的能力,即“能力涌现”。本文基于大量真实面经,深入剖析了游戏大厂后端面试中系统设计、项目深挖

    weixin_34075268的博客 326

    【信息科学与工程学】计算机科学与自动化——第一百八十九篇 计算机硬件 系列一 微处理器01

    在金融行业CDN流推送场景中,结合WebRTC over SD-RTN与SD-WAN Branch方案,需兼顾​​要求。

    weixin_49199313的博客 1014

    51c大模型~合集111

    OpenAI 的某发言人表示:「为了提高清晰度和安全性,我们增加了一个额外的后处理步骤,其中模型会审查原始的思维链,删除任何不安全的内容,然后简化某些复杂的思维。可以看到,虽然 ChatGPT 确实完成了任务并展示了总结版的思维链,但似乎并未如 OpenAI 发言人说的那样给出与提示词语言同样语言的总结版。北大-灵初联合实验室表示,Align-DS-V的多模态强推理能力是VLA模型大脑端的核心,接下来的研究训练计划,是利用多模态推理模型的跨模态穿透能力,实现action穿透,最终实现真正高效的VLA模型。

    whaosoft~aiotの开发板商城 2216

    AIGC 应用工程师(5-10年)面试题与答案全解析(2026 前沿版)

    AIGC 应用工程师面试题与答案全解析(2026 前沿版) 摘要 本文系统整理了 2026 年 AIGC 应用工程师岗位的核心面试内容,包含 19 大模块、68 道关键题目及 15+ 代码示例。内容覆盖: 岗位定位:强调工程落地能力(RAG、Agent、系统集成)与业务闭环思维 技术体系:从基础理论(Transformer、涌现能力)到前沿应用(MCP协议、多模态生成) 工程实践:包含推理优化、成本控制、安全合规等关键落地能力 评估体系:详细讲解 golden set 构建、LLM-as-judge 等评估

    weixin_48053866的博客 656

    美丽联合校招笔试题全解析:电商技术岗与产品运营岗备战指南

    互联网校招笔试是求职者进入大厂的第一道关卡,其底层逻辑并非单纯考察知识记忆,而是通过业务场景包装基础概念,筛选出具备扎实功底、结构化思维与商业嗅觉的候选人。尤其在电商与内容融合的平台中,高并发架构、推荐算法、用户增长与数据运营成为核心命题方向。从数据结构到系统设计,从产品策略到数据分析,每一类题型都折射出企业对“能落地解决问题”的工程能力与业务理解力的重视。理解这些出题意图,远比背诵答案更有价值。本文以一份典型的电商+内容平台校招笔试题为切入点,拆解技术岗与产品运营岗的考察维度与答题框架,并为求职者提供从笔

    weixin_30896825的博客 431

    【信息科学与工程学】【数据科学】数据科学领域-第十一篇 数据集成算法01

    ​​降低维护成本​​:通过抽象通用流程(如),当需要修改故障注入逻辑(如更换混沌工具)时,只需修改一处代码,无需修改所有测试用例;​​提升扩展性​​:通过参数化故障场景(如),可快速生成新的故障用例(如针对新服务的延迟故障),适应系统迭代需求;​​增强场景真实性​​:通过组合混沌操作(如),模拟真实生产环境中的复杂故障链(如“网络延迟+服务宕机”),更准确地验证系统韧性;​​提高分析效率​​:通过自动化结果分析(如),快速获取MTTR、错误率等关键指标,减少人工分析时间。

    weixin_49199313的博客 903

    【信息科学与工程学】【通信工程】第十八篇 企业网、园区网、数据中心、广域网各类业务网络02

    模型类别基本假设网络表示耦合函数渗透方程临界条件物理意义一对一依赖​每个交通节点与一个通信节点相互依赖双层网络:交通层G_T=(V_T,E_T),通信层G_C=(V_C,E_C),层间一一对应边E_I依赖函数:RT​=fT​(RC​,p),RC​=fC​(RT​,p)自洽方程: RT​=p[1−GT​0(1−RT​)][1−GC​0(1−RC​)] RC​=p[1−GC​0(1−RC​)][1−GT​0(1−RT​)]pc​=⟨kT2​⟩⟨kC2​⟩​1​ ⟨k²⟩=⟨k(k-1)⟩对称耦

    weixin_49199313的博客 1090

    字节AI Agent面试题大全及参考答案(下)

    Skill 是大模型 Agent 领域对能力单元的抽象,中文常译作技能,本质是把一类可被 Agent 调用的能力做标准化封装,包含工具调用、业务流程、提示词模板、子 Agent、查询逻辑等,不局限于单纯函数调用。面试加分点,不要把 Skill 等同于普通 function call 函数,要区分 Function、Skill、MCP 三者的边界,讲清楚 Skill 不止是单个函数,可以是复杂业务流程,同时说明 MCP 协议定位是通信协议,不是能力本身。Skill 核心原理,将离散能力封装成具备元信息的独立单

    大模型大数据攻城狮的专栏 423
    上一篇: SVN基本介绍、工作原理、基本操作和其他说明
    下一篇: SpringBoot集成JPA+hikariCP连接池实现增删改查以及相关的注意事项
    Dame Time
    博客等级 码龄10年 7粉丝 12原创
    评论 1
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值