名词百科

什么是分布式 / 集群?

一句话定义

分布式是把一个系统拆到多台机器上协同工作,以突破单机容量上限;集群是多台机器运行同一套服务,对外表现为一个整体。分布式强调分工,集群强调冗余。

发布者:黔序科技

它到底是什么

两者的动机不同:集群是为了「一台不够,多台一起扛」,同时获得故障冗余;分布式是为了「一台装不下,拆开分头做」,比如数据分片存在不同机器上。

实际系统往往两者兼有:服务多实例部署(集群),数据按用户 ID 分片(分布式)。

怎么运作的

集群:靠负载均衡分发请求,靠健康检查摘除故障节点。要求服务尽量无状态,否则需要会话共享。

分布式:核心难题是一致性。多个节点同时读写同一份数据时,需要共识算法或分布式事务来协调。CAP 理论说明了三者不可兼得:一致性、可用性、分区容错性只能取其二。

常见模式:主从(读写分离)、分片(按规则分散数据)、对等(无中心节点)。每种模式的故障处理方式不同。

代价:网络不可靠、时钟不同步、部分失败难以判断。单机上的「要么成功要么失败」在分布式里变成「不知道成没成功」。

容易混的几个概念

  • 微服务:按业务拆分服务,与分布式不在同一维度。
  • 负载均衡:集群的流量分发手段。
  • 分库分表:数据层的分布式手段。
  • 高可用:目标而非手段,集群与分布式都是达成手段。

常见问题

集群一定要做数据同步吗?

无状态服务不需要,会话与数据放在共享存储即可。数据库集群则需要同步,且要在一致性与延迟之间取舍:同步复制慢但安全,异步复制快但可能丢数据。

分布式事务怎么处理?

强一致方案(两阶段提交)性能代价高,实际项目多用最终一致:本地消息表、事务消息、补偿机制。选择取决于业务能否接受中间状态。

E 后端架构 · 同组词条

ServerlessServerless(无服务器计算)是由平台自动分配运行资源、按实际调用计费的模式,代表形态是函数计算与云开发。开发者只写业务代码,不管理服务器。定时任务定时任务是按预设时间自动执行的程序,用于对账、报表、清理、同步等周期性工作;日志是程序运行时产生的记录,用于排查问题、审计与监控。容器化容器化是把应用及其依赖打包成可移植的镜像,在隔离环境中运行的技术,Docker 是代表性工具;K8s(Kubernetes)是管理大量容器的编排平台,负责调度、扩缩容与自愈。系统集成系统集成是把多个独立系统连接起来协同工作的过程,核心是接口对接与数据互通。它解决的是「各系统都各自能用,但数据不通」的问题。云服务器云服务器是可按需租用的虚拟计算资源;域名是网站的访问地址;带宽决定单位时间内能传输的数据量。三者构成网站运行的基础资源。负载均衡负载均衡是把请求分发到多台服务器的机制,用于提升处理能力与可用性;CDN 是把静态资源缓存到离用户更近的节点,用于缩短访问延迟。两者都在分散压力,但层级不同。高并发高并发指系统在同一时间承受大量请求的能力,通常用每秒请求数、并发连接数、响应时间来衡量。它考验的是系统在压力下的稳定性,而不是单次请求的速度。多租户多租户架构是一套系统同时服务多个客户(租户),各租户的数据相互隔离、配置互不影响。它是 SaaS 能把成本压低的根本原因。