理解分布式系统(一):初识

什么是分布式系统

定义: 分布式系统是一个其组件分布在不同的、联网的计算机上,组件之间通过传递消息进行通信和协调,共同完成一个任务的系统。

特点:

  1. 多节点:分布式系统一般由多个节点组成,它们可以位于不同的物理位置。
  2. 通信:节点之间可以通过网络进行通信,可以传输数据或者协调工作。
  3. 多进程:分布式系统中有多个进程并发运行。
  4. 不共享操作系统和时钟。

这些特点也给分布式系统带来了一些挑战,这些挑战是区别于单机系统的。

为什么要有分布式系统

在了解为什么要有分布式系统前,我们可以先做一些铺垫。

首先,来看看什么叫摩尔定律

摩尔定律是指:当价格不变时,集成电路上可以容纳的元器件的数目,约每隔18至24个月就会增加一倍,性能也会提升一倍。

如果这个定律永远都成立的话,我们机器的性能将无止境的提升,也就是CPU、硬盘等器件的性能会一直成指数上升,那么也就没有分布式系统什么事情了。

遗憾的是,摩尔定律失效了,hhh。。。受我们半导体工艺的限制,芯片在有限的空间下的性能已经基本上发展到极限了。

于是现代CPU将多个CPU "拼在一起" 以获得更高的性能,这便是多核CPU架构。可是多核CPU架构依然存在物理限制,且成本会迅速上升,很多公司难以承受大型机高昂的成本。于是,以Google为代表的互联网企业按照多核CPU架构的思路,选择将多台廉价的计算机结合起来,组成一个拥有大量的CPU、内存和磁盘的分布式系统,这么做同样可以实现对高性能的需求。 ----《深入理解分布式系统》

铺垫结束, 总结来说就是摩尔定律失效了,所以单机系统的性能是有瓶颈的,而处于互联网时代的系统中的数据和流量都在爆炸性的增长,这就产生了矛盾了,分布式系统也就诞生了。

分布式系统优点

首先,需要说明的是,这里的优点是较单机系统来比较着说的,指不定啥时候出现了更加牛逼的系统,这些优点可能就微不足道了。

  1. 高性能: 显而易见,分布式系统可以通过并行处理和负载均衡提高系统整体的性能和吞吐量。
  2. 高扩展性: 分布式系统可以通过添加新的节点来扩展系统的容量和性能,来适应不断增加的要求。而单机系统只能扩展到有限的程度。
  3. 高可用性: 分布式系统可以通过冗余多份数据或者冗余计算得到容错和自动恢复的功能,现在很多大公司的服务都要求可用性达到99.999%,也就是一年之内最多允许宕机5分钟。(想到前段时间阿里云和滴滴的事故,这一次就把多少年的宕机时限用掉了,狗头)
  4. 地理分布: 分布式系统可以将不同的节点放在不同的地理位置,这样可以进一步增加容错性,也可以让不同地理位置的用户都能得到较好的服务质量(用户离服务器越近,延时就会越小)。

分布式系统的挑战

  1. 网络延时问题: 这应该是分布式系统面临的最大的挑战,前面也提到,分布式系统中的各个节点是依靠网络来进行通信的,而网络的不可靠性可能会导致以下问题:
  • 消息丢失
  • 我们认为请求丢失了,但是其实它只是延迟到达了而已
  • 网络可能会重传消息,导致收到重复的消息
  • 消息延迟可能会让我们认为某个服务已经因为故障下线,但是实际上并没有。
  • 消息可能以不同的顺序到达,或者不同节点上消息到达的顺序不同。
  1. 部分失效问题: 也可以叫一致性问题,这种问题是由于系统中可能有一部分节点未能正常运行,导致无法正确的协同工作,所以分布式系统下任务执行的原子性要得到保障是一个极大的挑战。
相关推荐
霖霖总总17 小时前
[Redis小技巧32]Redis分布式锁的至暗时刻:从原理演进到时钟跳跃的终极博弈
数据库·redis·分布式
ZC跨境爬虫18 小时前
Scrapy分布式爬虫(单机模拟多节点):豆瓣Top250项目设置与数据流全解析
分布式·爬虫·python·scrapy
2501_9481142419 小时前
2026模型能力分化加剧:多模型聚合架构的技术解析与工程落地思考
人工智能·ai·chatgpt·架构
实在智能RPA21 小时前
Agent 如何处理流程中的异常情况?2026年AI Agent架构工程与自愈机制深度拆解
人工智能·ai·架构
ZC跨境爬虫21 小时前
通俗易懂讲解分布式爬虫基础概念(附Scrapy-Redis实操教程)
redis·分布式·爬虫·python·scrapy
码路高手1 天前
Trae-Agent中的 selector核心逻辑
人工智能·架构
咚咚王者1 天前
人工智能之知识蒸馏 第四章 知识蒸馏架构演进与适配方案
人工智能·架构
风曦Kisaki1 天前
# LAMP 架构 + Discuz! 论坛实战笔记
笔记·架构
CoovallyAIHub1 天前
MSD-DETR:面向机车弹簧检测的可变形注意力Detection Transformer
算法·架构
CoovallyAIHub1 天前
不改权重、不用训练!BEM用背景记忆抑制固定摄像头误检,YOLO/RT-DETR全系有效
算法·架构·github