尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

分布式架构知识体系

分布式架构知识体系 文章目录 一、 理论基础与核心困境 (Theoretical Foundations)1. 核心分布式定理2. ️ 经典不可靠与安全模型 二、 一致性、共识与分布式事务 (Consistency Transactions)1. 分布式共识算法2. 分布式事务解决方案3. 分布式锁与全局唯一 ID⚙️ 三、 核心基础设施与中间件 (Core Components Middleware)1. 注册中心与配置中心2. 分布式通信与 RPC 框架3. 分布式消息引擎异步解耦与削峰填谷4. ⏰ 分布式任务调度引擎️ 四、 存储与数据分片机制 (Storage Data Sharding)1. ⚡ 分布式缓存与多级缓存2. ️ 分布式数据库与分库分表3. 分布式文件与对象存储️ 五、 高可用、容灾与可观测性 (High Availability Observability)1. 流量控制与系统防线2. 负载均衡与网关路由3. 容灾备份与幂等性设计4. 可观测性Observability三支柱☁️ 六、 微服务与云原生演进 (Microservices Cloud-Native)1. 领域驱动设计 (DDD)2. 容器化与云原生编排3. ️ 服务网格 (Service Mesh)分布式架构是现代高并发、高可用系统设计的基石。通过将多维度的技术演进与生产实践进行系统化融合可以将其完整拆解为六大核心知识体系(如何高效记忆) 一、 理论基础与核心困境 (Theoretical Foundations)在动手设计或使用分布式系统之前必须深刻理解分布式环境下的固有局限性和基本定理1. 核心分布式定理CAP 定理一致性Consistency、可用性Availability、分区容错性Partition Tolerance三者不可兼得分布式系统必须首先保证 P在 C 和 A 之间权衡。BASE 理论基本可用Basically Available、软状态Soft State、最终一致性Eventual Consistency指导大规模系统的设计哲学。PACELC 定理对 CAP 的延伸指出若有分区P需在可用性与一致性间权衡若无分区E则需在延迟Latency与一致性Consistency间权衡。2. ️ 经典不可靠与安全模型FLP 不可能性原理在异步网络通信模型中即使只有一个进程失败也没有任何协议能保证可靠的一致性。拜占庭将军问题节点不仅会宕机还可能发送错误或恶意信息分布式共识与区块链安全的重要考量。 二、 一致性、共识与分布式事务 (Consistency Transactions)如何在多个节点、跨服务、跨数据库间达成状态同步与数据一致1. 分布式共识算法Raft 算法将共识问题简化为领导者选举、日志复制和安全性约束广泛应用于 Etcd、TiKV 等。Paxos 算法分布式共识的理论基石Basic Paxos、Multi-Paxos。ZAB 协议ZooKeeper 专用的原子广播协议。2. 分布式事务解决方案强一致性/同步方案两阶段提交2PC、XA 协议、SeataAT 模式。最终一致性/柔性事务TCCTry-Confirm-Cancel模式、可靠消息最终一致性本地消息表/MQ 事务消息、Saga 模式。3. 分布式锁与全局唯一 ID分布式锁基于 RedisRedisson、Redlock、Lua 脚本保证原子性或 ZooKeeper临时顺序节点与 Watcher 机制。全局唯一 IDUUID、数据库号段模式、Snowflake雪花算法。⚙️ 三、 核心基础设施与中间件 (Core Components Middleware)构建分布式系统底座不可或缺的生产力工具1. 注册中心与配置中心服务注册与发现Nacos、ZooKeeper、Eureka、Etcd。动态配置管理Apollo、Nacos Config实现配置的集中管理与热更新。2. 分布式通信与 RPC 框架通信协议与框架gRPC、Dubbo、Thrift、RESTful API。序列化机制Protobuf、Hessian、Kryo、Jackson平衡性能与兼容性。3. 分布式消息引擎异步解耦与削峰填谷主流产品RocketMQ、Kafka、RabbitMQ。核心特性高吞吐、顺序消费、事务消息、死信队列、消费端幂等性。4. ⏰ 分布式任务调度引擎主流工具XXL-JOB、Elastic-Job实现海量任务的分片调度与高可用执行。️ 四、 存储与数据分片机制 (Storage Data Sharding)当单机存储容量和算力到达瓶颈时的水平扩展方案1. ⚡ 分布式缓存与多级缓存缓存架构Redis Cluster、Codis一致性哈希、分片、高可用集群。常见缓存问题多级缓存设计、缓存穿透、缓存击穿、缓存雪崩的应对策略。2. ️ 分布式数据库与分库分表分库分表中间件ShardingSphere、MyCat垂直与水平拆分策略。分布式 NewSQLTiDB、OceanBase计算存储分离、多副本 Raft 同步、多版本并发控制 MVCC。3. 分布式文件与对象存储主流系统HDFS、MinIO实现海量文件与对象的高可用分布式存储。️ 五、 高可用、容灾与可观测性 (High Availability Observability)确保系统在面对流量洪峰和节点故障时具备强大的韧性1. 流量控制与系统防线限流算法令牌桶、漏桶、计数器Sentinel、Guava RateLimiter。熔断与降级Sentinel、Resilience4j、Hystrix防止雪崩效应与快速失败。2. 负载均衡与网关路由网关层Spring Cloud Gateway、Kong负责路由、鉴权、安全校验。负载均衡Nginx、Ribbon轮询、随机、一致性哈希、平滑加权。3. 容灾备份与幂等性设计容灾架构同城双活、异地多中心多活架构单元化架构。幂等保障接口重试场景下的防重机制唯一索引、Token 机制、状态机。4. 可观测性Observability三支柱Log日志收集ELK / EFK、Grafana Loki。Metric指标监控Prometheus Grafana。Trace链路追踪SkyWalking、Jaeger、OpenTelemetry。☁️ 六、 微服务与云原生演进 (Microservices Cloud-Native)应用层面的分布式架构拆分、治理与云原生基础设施1. 领域驱动设计 (DDD)限界上下文通过领域驱动设计DDD合理划分微服务边界避免“分布式单体”。2. 容器化与云原生编排编排调度Docker、Kubernetes (K8s) 的声明式 API、调度编排与网络模型。3. ️ 服务网格 (Service Mesh)流量治理下沉Istio、Linkerd通过 Sidecar边车模式将流量治理与业务代码彻底解耦。
返回列表