跳转到主要内容
← 返回首页
🌐

分布式架构

分布式架构设计与实现

10 篇笔记

分布式锁:可重入、自动续期与红锁

分布式锁:可重入、自动续期与红锁 分布式锁核心需求 分布式锁需要满足互斥性、无死锁、容错性和可重入性。锁的实现方式取决于可用的协调服务(Redis、ZooKeeper、etcd等)。 java // 分布式锁接口 public interface DistributedLock { bool...

⏱ 2m 分布式锁RedisZooKeeper红锁

分布式限流:Redis集群与双层限流

分布式限流:Redis集群与双层限流 限流算法概述 限流是保护系统稳定性的关键手段。常见算法包括固定窗口计数器、滑动窗口、漏桶和令牌桶。每种算法有不同的适用场景和特性。 java // 限流器接口 public interface RateLimiter { boolean tryAcqui...

⏱ 2m 分布式限流Redis令牌桶滑动窗口

分布式Session:粘性Session、共享Session与JWT

分布式Session:粘性Session、共享Session与JWT 分布式Session挑战 单体应用的Session存储在单个服务器内存中,分布式环境下需要解决Session共享问题。常见方案包括粘性Session、Session复制、Session集中存储和无状态JWT。 java // Se...

⏱ 2m 分布式SessionJWTRedis SessionSpring Session

分布式消息队列:Topic/分区与消费组

分布式消息队列:Topic/分区与消费组 Topic与分区模型 Topic是消息的逻辑分类,分区(Partition)是Topic的物理分片。分区是并行处理的基本单位,单个分区内消息有序,跨分区无序。 java // Kafka生产者 - 发送消息 Producer<String, String>...

⏱ 2m 消息队列KafkaRocketMQTopic

分布式追踪:OTel Collector与采样策略

分式追踪:OTel Collector与采样策略 分布式追踪核心概念 分布式追踪通过TraceID和SpanID将跨服务的调用链串联起来。每个服务处理形成一个Span,所有Span组成一棵Trace树。OpenTelemetry是CNCF的可观测性标准,统一了追踪、指标和日志的采集。 java //...

⏱ 2m 分布式追踪OpenTelemetryOTel CollectorJaeger

分布式配置:CAP一致性与配置推送

分布式配置:CAP一致性与配置推送 CAP理论与配置系统 配置中心需要在CAP之间做出权衡。大多数配置系统选择AP(可用性优先),保证配置读取的高可用,同时通过最终一致性保证配置的正确传播。 java // 配置中心核心接口 public interface ConfigCenter { /...

⏱ 2m 分布式配置配置中心ApolloNacos

分布式调度:Quartz/XXL-Job/ElasticJob

分布式调度:Quartz/XXL-Job/ElasticJob 分布式调度核心挑战 分布式调度需要解决任务分片、故障转移、负载均衡、幂等执行等问题。不同框架采用不同的架构策略,但核心目标一致:保证任务准确、高效、可靠地执行。 java // 任务调度器核心接口 public interface Ta...

⏱ 2m 分布式调度QuartzXXL-JobElasticJob

分布式存储:GFS/HDFS/Ceph/MinIO架构

分布式存储:GFS/HDFS/Ceph/MinIO架构 GFS/HDFS主从架构 GFS(Google File System)和HDFS(Hadoop Distributed File System)采用经典的主从架构。NameNode(Master)管理元数据和命名空间,DataNode(Sla...

⏱ 2m 分布式存储GFSHDFSCeph

Raft共识协议:日志复制与领导者选举

Raft共识协议:日志复制与领导者选举 Raft协议核心概念 Raft是一种管理日志复制的共识算法,通过领导者选举、日志复制和安全性三个核心机制保证分布式系统的一致性。相比Paxos,Raft更容易理解和实现。 节点状态:Leader | Follower | Candidate 日志结构:[Ter...

⏱ 2m Raft共识协议领导者选举日志复制

分布式缓存:一致性哈希与虚拟节点

分布式缓存:一致性哈希与虚拟节点 一致性哈希算法 一致性哈希将哈希值空间组织成一个虚拟的环(0到2^32-1),节点和数据都映射到环上。数据沿顺时针方向找到第一个节点存储,当节点增减时只影响相邻节点的数据分布。 python import hashlib from bisect import bis...

⏱ 2m 分布式缓存一致性哈希Redis虚拟节点