分布式系统核心知识¶
分布式的本质¶
分布式的本质是当一台机器无法完成任务时,将任务拆开交给多台电脑协作共同处理,使系统更快、更稳、更能扛压力。
为什么现代系统离不开分布式¶
原因是业务规模太大,单台服务器撑不住。互联网时代每天的访问量、订单量、实时计算量庞大,单机无论 CPU 多强、内存多大都有上限,而分布式可通过不断添加新机器实现几乎无限扩容,需求越大就加越多机器,系统依然能轻松扛住压力。
分布式的常见形态¶
分布式不是某一种特定技术,而是一类思想、一套架构。分布式存储是把大量数据分散存放到多台服务器上,不怕机器坏也不怕数据太多装不下;大数据平台的分布式计算是把超大运算任务分拆成很多小任务,让几十台、几百台服务器并行处理;微服务架构也是分布式的一种,将复杂系统拆成一个个独立小服务,通过网络通信相互配合完成业务。
分布式系统的关键设计要求¶
分布式系统必须设计得足够聪明,要能自动备份、自动迁移数据、自动处理节点故障,要保证数据一致性,知道每条消息是否被处理过,能容忍部分服务器坏掉而不影响整体服务,这些是分布式系统最困难也最精髓的部分。从用户角度看,分布式的体验是更快、更稳、更大规模,比如在电商平台下单、刷短视频、使用支付系统,背后都是数百台、数千台服务器在协作,用户看到的只是顺畅页面。
分布式的核心思想¶
任务并行化¶
将庞大的计算或业务请求拆解为大量子任务,交由网络中多台计算机节点同时处理,从根本上突破单机性能瓶颈,实现处理效率的指数级提升。
数据分片化¶
海量数据被划分为多个逻辑片段,分散存储在不同节点,不仅突破单点存储的容量限制,更通过让计算贴近数据、就近访问显著降低了数据读写延迟。
管理去中心化¶
系统不依赖于唯一的控制中心,而是通过预设的共识协议使所有节点能自主协调、共同决策,这种设计确保了高容错性,即使部分节点失效,系统整体服务也不会中断。
分布式系统总结¶
分布式的核心思想非常朴素,让多台机器像一个团队一样协作去完成单台机器无法承受的任务。分布式技术通过化整为零、协同作战的架构哲学,构建出具备弹性伸缩与高可用能力的系统。