分布式与微服务
现代 Java Backend Engineering 学习路线:分布式与微服务
0 子目录10 文档
文档
10分布式系统与微服务推荐阅读分布式系统与微服务推荐阅读 微服务是组织和边界决策,不是默认架构。先掌握故障、时间、复制与一致性,再学习 RPC、注册配置、网关和分布式事务。 官方资料优先顺序 Fallacies of Distributed Computing Netty Documentation Nacos Documentation Apache Dubbo Documentation gRPC Java Basics 阅读方法 1. 先阅读概念与快速开始,建分布式系统与微服务:从零开始的阶段导学分布式系统与微服务:从零开始的阶段导学 这一页是本阶段的入口,不假设读者已经接触过对应框架。先建立“为什么需要它、它在链路中的位置、如何验证”的心智模型,再进入各专题。 1. 本阶段解决什么问题 理解网络分区、延迟、重复、乱序和局部失败为何让远程调用不同于本地方法,并据此设计服务边界、发现、配置、网关、容错、事务与观测链路。先掌握失败语义,再学习组件。 前置知识 能独立开发和测试模块化单体 理解数据库事务、HTTP 与消息队列基础 2.分布式基础:故障模型、CAP、BASE、复制与共识分布式基础:故障模型、CAP、BASE、复制与共识 分布式系统的难点来自网络延迟、部分失败、并发和缺少全局时钟;术语必须放回具体模型与业务不变量中。 1. 本文覆盖范围 故障、超时和时间 CAP 与一致性模型 复制、quorum 与冲突 Paxos、Raft 与 Gossip 2. 核心知识详解 1. 部分失败与时间 调用超时只能说明截止时间内没有收到结果,远端可能未执行、正在执行或已成功但响应丢失。网络分区、进程暂停和时钟漂移使状态判服务通信:HTTP、OpenFeign、Dubbo、gRPC 与 Netty服务通信:HTTP、OpenFeign、Dubbo、gRPC 与 Netty 通信技术选择取决于契约、互操作、延迟、流式需求和运维能力;框架封装不会消除远程调用故障。 1. 本文覆盖范围 HTTP/REST 与契约 OpenFeign 声明式客户端 Dubbo 与 gRPC Netty 事件循环与背压 2. 核心知识详解 1. 契约与兼容 服务契约包含路径/方法或 RPC 方法、字段类型、错误模型、认证、超时和幂等语义。演进遵循添加优先Nacos:服务注册、发现、健康检查与配置治理Nacos:服务注册、发现、健康检查与配置治理 注册中心解决实例寻址,配置中心管理动态配置;两者都需要命名空间、权限、版本和故障策略。 1. 本文覆盖范围 实例与服务模型 健康检查与负载均衡 配置发布与回滚 多环境、权限和容灾 2. 核心知识详解 1. 服务与实例 服务名、group、namespace、cluster 和实例元数据共同决定注册和查询范围。临时/持久实例在故障感知与存储语义上不同。 服务标识包含应用、环境和接口版本,避免API 网关、负载均衡、限流、熔断、降级与重试API 网关、负载均衡、限流、熔断、降级与重试 流量治理的目标是保护系统并给调用方可预测语义;每个机制都需要范围、预算、观测和恢复条件。 1. 本文覆盖范围 L4/L7 与网关职责 负载均衡与健康 限流和排队 超时、重试、熔断与降级 2. 核心知识详解 1. 网关职责边界 网关负责路由、TLS 终止、认证入口、限流、协议适配和观测等通用能力;核心业务规则留在领域服务。 路由配置版本化,发布前检测冲突和不可达后端。 请求体大小、heade分布式 ID、分布式事务、Outbox、Saga 与可靠事件分布式 ID、分布式事务、Outbox、Saga 与可靠事件 跨服务一致性先定义业务不变量与失败补偿,再在本地事务、幂等和事件之间选择最小机制。 1. 本文覆盖范围 ID 生成 两阶段提交边界 Transactional Outbox Saga、幂等和对账 2. 核心知识详解 1. 分布式 ID 数据库序列/自增、号段、UUID/ULID 和 Snowflake 类算法在排序、索引局部性、中心依赖和时钟上权衡。 外部公开 ID 避免暴露Spring Cloud 与 Spring Cloud Alibaba 组件图Spring Cloud 与 Spring Cloud Alibaba 组件图 Freshness metadata last verified : 2026 08 24 version scope : Spring Cloud 2025.1 / Spring Cloud Alibaba 2025.1.x source type : official docs stability : fast moving Spring Cloud 提Seata、Sentinel 与 SkyWalking 实战边界Seata、Sentinel 与 SkyWalking 实战边界 这三个组件分别聚焦分布式事务、流量治理与可观测性。它们解决的是不同问题:事务一致性、过载保护和运行证据不能相互替代。 1. 学习目标 比较 Seata AT/TCC/Saga/XA 理解 Sentinel 资源、规则和降级 理解 SkyWalking 探针、后端与存储链路 2. 核心概念 1. Seata 模式选择 AT 通过数据源代理、undo log 和全局锁协调关系Spring Cloud Compatibility Matrix 与升级检查Spring Cloud Compatibility Matrix 与升级检查 Freshness metadata last verified : 2026 08 24 version scope : verified 2026 08 24 source type : official compatibility table stability : fast moving Spring Cloud train Spring Boot