彻底讲清楚 单体架构、集群架构、分布式架构及扩展架构 ...

打印 上一主题 下一主题

主题 1043|帖子 1043|积分 3129

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
目录
什么是系统架构
单体架构
先容
示例图
优点
缺点
集群架构
先容
表现图
优点
缺点
分布式架构
表现图
优点
缺点
生态扩展
先容
表现图
优点
缺点
扩展:分布式服务剖析
纵切拆服务
全链路追踪能力
循环依靠
全链路日记(End-to-End Logs)


阅前提醒:前后端分离架构是前后端之间的架构方式。而这里所讲的三种架构是后端部署方式。
什么是系统架构

系统架构是指软件系统的布局设计,它定义了系统的组件、组件之间的关系以及组件与情况之间的交互。系统架构是软件系统开辟的基础,它影响着系统的可维护性、可扩展性、性能和安全性。

单体架构

先容

单体架构是一种传统的软件架构模式,此中所有的功能模块都集成在一个单一的应用程序中。这种架构简单、易于部署和测试,但在扩展性和维护性方面存在局限性。随着应用规模的增长,单体架构可能导致性能瓶颈和开辟效率低落。
示例图


优点



  • 简单性:开辟、部署和测试过程简单直接。
  • 性能:由于所有组件都在同一个历程中运行,以是内部通讯快速且高效。
  • 易于管理:系统的所有部分都会集在一个代码库中,便于管理。
缺点



  • 扩展性差:难以水平扩展,由于整个应用必须作为一个团体举行扩展。
  • 技术限制:整个应用可能被绑定到特定的技术栈,难以引入新技术。
  • 部署困难:每次更新都需要重新部署整个应用,可能导致较长的停机时间。
  • 维护成本高:随着应用规模的增长,维护成本和复杂性增长。

集群架构

先容

集群架构是指将多个服务器或节点组合在一起,以实现高可用性和负载平衡。在集群架构中,多个节点可以协同工作,共同处置处罚请求,从而进步系统的处置处罚能力和可靠性。集群架构通常用于需要高并发处置处罚和高可用性的系统。
表现图


优点



  • 办理大并发题目
  • 高可用性:通过多节点运行,提供更高的系统可用性。
  • 负载平衡:可以有效分散请求负载,进步系统处置处罚能力。
  • 容错性:单个节点的故障不会导致整个系统的瓦解。
缺点



  • 复杂性:需要复杂的和谐和管理机制来处置处罚节点之间的通讯和数据同等性。
  • 成本:需要更多的硬件资源,增长了成本。
  • 维护难度:管理和维护集群需要专业知识和技能。
  • 更新业务:牵一发动浑身,就很麻烦
  • 跨语言交互:多语言团队如何办理?

分布式架构

分布式架构是一种将应用程序的不同组件分布在不同的网络节点上的架构模式。这种架构可以进步系统的可扩展性、可靠性和容错能力。分布式架构通常用于需要处置处罚大量数据和高并发请求的系统,可分别从以下开始做起:


  • 服务拆分
  • 远程调用
  • 服务治理
  • 请求路由
  • 身份认证
  • 配置管理
  • 服务保护
  • 分布式事务
  • 异步通讯
  • 消息可靠性
  • 延迟消息
  • 分布式搜索
  • 倒排索引
  • 数据聚合

表现图


单体架构 转为 微服务(分布式)架构


优点



  • 可扩展性:可以轻松地通过增长更多的节点来扩展系统。
  • 灵活性:可以独立地更新和扩展系统的各个部分。
  • 容错性:系统的某个部分失败不会影响整个系统。
缺点



  • 复杂性:增长了系统设计的复杂性,需要处置处罚网络延迟、数据同等性等题目。
  • 运维难度:需要专业的运维知识和技能来管理和维护分布式系统。
  • 性能开销:网络通讯和数据同步可能引入额外的性能开销。

生态扩展

先容

生态扩展是指通过集成第三方服务、API和工具来扩展系统的功能和能力。这种扩展方式可以快速增长系统的功能,同时保持系统的灵活性和可维护性。生态扩展是当代软件开辟中常见的一种策略,特别是在微服务架构和云原生应用中。
表现图


优点



  • 灵活性:可以快速集成第三方服务和工具,扩展系统功能。
  • 创新性:利用现有的生态系统,可以快速创新和推出新功能。
  • 成本效益:通过使用第三方服务,可以低落开辟和维护成本。
缺点



  • 依靠性:过度依靠第三方服务可能影响系统的稳固性和安全性。
  • 集成难度:不同服务和工具之间的集成可能复杂且具有挑衅性。
  • 数据管理:需要管理多个服务之间的数据流和数据同等性。

扩展:分布式服务剖析

纵切拆服务

指的是将一个大型的、复杂的服务拆分成多个小型、独立的服务,每个服务负责特定的功能。这种拆分可以进步系统的可维护性和可扩展性。
全链路追踪能力

指的是能够追踪一个请求或事务在系统中的整个执行路径,包括所有的服务调用、数据库访问等。这种追踪能力对于故障排查、性能优化和事务管理非常紧张。
循环依靠

指的是在软件系统中,两个或多个模块相互依靠,形成一个闭环。循环依靠会导致系统难以明确和维护,通常需要通过重构来办理。
全链路日记(End-to-End Logs)

指的是记录一个请求或事务在系统中的每个步调的日记。这种日记对于监控系统状态、分析性能瓶颈和追踪事务处置处罚流程非常有效。它可以提供以下多个方面的价值:



  • 故障排查和题目定位:全链路日记答应开辟人员和运维团队跟踪整个请求或事务的执行路径。当系统中发生故障或非常时,可以使用全链路日记追踪题目的根本原因,找到导致题目的具体组件或服务,快速定位和办理题目。

  • 性能监测和调优:通太过析全链路日记,可以相识请求的执行时间、延迟和吞吐量等性能指标。这有助于发现性能瓶颈、优化关键路径和进步系统的相应速度。
  • 事务追踪:全链路日记记录了一个请求或事务在系统中的每个步调,包括调用其他服务、访问数据库等。这对于跟踪事务的处置处罚流程和相识每个步调的状态非常有效。
  • 监控和警报:全链路日记可以用于设置监控和警报规则。当系统中的某些条件到达或凌驾阈值时,可以触发警报,关照管理员或自动化系统接纳措施。
  • 安全审计:全链路日记记录了用户的操作和访问历史,可以用于安全审计和合规性监督。它有助于检测潜伏的安全题目和不正常的行为。
  • 容量规划:通过全链路日记,可以分析系统的负载情况和资源使用情况,帮助规划和预测系统的容量需求。
  • 改进用户体验:全链路日记可以提供对用户行为和体验的洞察,帮助优化用户界面和用户交互,提供更好的用户体验。
  • 版本追踪:对于分布式系统的不同版本或部署,全链路日记可以用于追踪不同版本之间的行为和性能差异。

更多经常内容尽在 vx公棕号 wmcode


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

圆咕噜咕噜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表