当前位置: 首页 > news >正文

分布式系统学习(一):相关概念及理论

概念

集群

相当于很多人一起 做一样的事

  • 一个业务模块,部署在多台服务器上

分布式

相当于很多人一起,做不一样的事,这些事情合起来是一件大事;也就是变成了流水线工作

  • 一个大的业务系统,拆分成多个小的业务模块,分别部署在不同的机器

理论

CAP理论

CAP 也就是 Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性) 这三个单词首字母组合。
image

CAP 定理(CAP theorem)指出对于一个分布式系统来说,当设计读写操作时,只能同时满足以下三点中的两个:

  1. 一致性Consistency) : 所有节点访问同一份最新的数据副本
  2. 可用性Availability): 非故障的节点在合理的时间内返回合理的响应(不是错误或者超时的响应)。
  3. 分区容错性Partition Tolerance) : 分布式系统出现网络分区的时候,仍然能够对外提供服务。

网络分区:分布式系统中,多个节点之间的网络本来是连通的,但是因为 某些故障(比如部分节点网络出了问题) 某些节点之间不连通了,整个网络就分成了几块区域,这就叫网络分区。

CAP 理论中分区容错性 P 是一定要满足的,在此基础上,只能满足可用性 A 或者一致性 C。
因此,分布式系统理论上不可能选择 CA 架构,只能选择 CP 或者 AP 架构
比如 ZooKeeper、HBase 就是 CP 架构,Cassandra、Eureka 就是 AP 架构,Nacos 不仅支持 CP 架构也支持 AP 架构。


为啥不可能选择 CA 架构呢?
举个例子:若系统出现“分区”,系统中的某个节点在进行写操作。

  • 为了保证 C, 必须要禁止其他节点的读写操作,这就和 A 发生冲突了。
  • 为了保证 A,其他节点的读写操作正常的话,那就和 C 发生冲突了。

比如对于需要确保强一致性的场景如银行一般会选择保证 CP 。
另外,需要补充说明的一点是:如果网络分区正常的话(系统在绝大部分时候所处的状态),也就说不需要保证 P 的时候,C 和 A 能够同时保证。

架构演进

单体架构

优点:

  • 简单,开发部署方便,小型项目首选

缺点:

  • 项目启动慢
  • 可靠性差
  • 可伸缩性、扩展性、可维护性差
  • 性能低

垂直架构

指:将单体架构中的多个模块拆分为多个独立的项目,形成多个单体架构,每个项目之间没有交互,共用一个数据库。
存在的问题: 重复功能太多
image

分布式架构

指:在垂直架构的基础上,将公共业务模块拆分出来,作为独立的服务,供其他调用者消费,实现服务共享和重用。
存在的问题: 服务提供方一旦发生变更,所有消费方都需要变更
image

SOA架构

在分布式架构的基础上,通过服务暴露接口完成把服务消费方和提供方解耦,通过ESB实现服务集中治理。

ESB:企业服务总线,相当于一个中介,让服务与服务之间可以进行交互。
功能包括:负载均衡,流量监控,异常处理等等【也就是服务治理和监控】

存在的问题:ESB 一旦宕机,整个系统通信受阻

微服务架构

在SOA架构上进行升华。 强调:【业务彻底的组件化和服务化】业务系统拆分为多个可以独立开发、设计、运行的小应用,它们之间通过服务完成交互。

SOA VS 微服务

SOA 微服务
通信方式 依赖 ESB(企业服务总线),通过统一中间层转发请求 采用 轻量级通信机制(如 RESTful API、gRPC、消息队列)
治理方式 通过ESB进行统一治理(如日志、路由、监控、安全) 通过 服务注册中心 + 配置中心 + API网关 + 容器编排(如Kubernetes) 实现分布式治理
依赖关系 理论上独立,但常被ESB和大中间件绑定 服务之间点对点通信,强调独立性与自治性
http://www.hskmm.com/?act=detail&tid=27408

相关文章:

  • AI元人文构想的新启发:从自动驾驶困境到通用价值智能的构建——声明Ai研究
  • mido配置 DNS 服务器
  • 磁盘调度算法
  • 牛客周赛 Round 112
  • CF497E Subsequences Return
  • Flutter 中运用 Color 的最优方案
  • 竞争自适应重加权采样(CARS)算法在光谱数据变量选择中的解决方案
  • 2025 最新超声波清洗机厂家推荐排行榜:工业 / 精密 / 实验室等多场景适配厂商权威榜单全自动/大型/工业/单槽/多槽超声波清洗机厂家推荐
  • AI元人文构想的新启发:从自动驾驶困境到通用价值智能的构建
  • Word通过宏统一设置样式
  • 2025 年金属线槽厂家最新推荐排行榜:覆盖不锈钢 / 铝合金 / 防火 / 大跨距 / 喷塑类型,帮您选优质厂家企业
  • 2025电子行业隧道式烘干炉/PCB板固化炉设备厂家推荐品牌/汽车行业隧道式烤炉选择哪家/汽车喷涂固化炉设备厂家对比
  • 基于蚁群算法的PID参数整定方法及MATLAB实现
  • Sql语句
  • 2025 年电缆桥架厂家最新推荐排行榜:精选不锈钢 / 铝合金 / 热镀锌等多类型优质桥架厂家,助力精准选购热镀锌/热浸锌/托盘式/防火/喷塑电/防火喷塑电缆桥架厂家推荐
  • nohup java按天输出日志
  • 【SPIE出版|往届已EI检索】第四届交通运输工程前沿国际学术会议(FTTE 2025)
  • Origin 2025b安装包下载及详细安装教程,附永久免费中文汉化破解版Origin安装包
  • st表模板
  • 2025 年北京精品旅游旅行社联系方式推荐:北京汇通清源定制旅行与一站式服务解决方案解析
  • CesiumGlobeAnchor
  • 数据驱动的爆款密码:我用Python和10万条小红书笔记数据集,解构了爆款笔记的终极公式
  • 破解安防整合难题:详解国标GB28181EasyGBS如何实现零插件Web直播
  • 基于MATLAB的雨流计数法疲劳计算GUI可视化系统
  • 2025 年园林剪刀源头厂家最新推荐排行榜:电动 / 修枝 / 果树 / 精密 / 修树 / 高枝 / 专业园艺 / 入门级 / 多功能工具选购指南
  • 离散数学与结构 Part2
  • [NOI2001] 炮兵阵地 - 洛谷
  • 告别 “能源黑箱”:MyEMS 如何让中小企业的能耗数据 “会说话”?
  • 实用指南:赛思金融授时服务器 从《捕风追影》纳秒困局到数字安全,赛思以全链路时钟同步方案夯实时序安全底座
  • 企业级 Java AI 开发首选!JBoltAI 带 RAG 知识库 + Agent 智能体,轻松改造老系统