第 4 章 · 分布式、云原生与新技术架构
考点梳理
4.1 中间件与集成架构
| 中间件类型 | 作用 |
|---|---|
| 消息中间件 | 异步解耦、削峰填谷、可靠投递(Kafka/RabbitMQ 等) |
| 事务中间件 | 分布式事务协调(两阶段提交等思路) |
| 对象请求代理(ORB) | 跨语言对象调用 |
| 应用服务器 | 承载业务组件与容器管理 |
SOA vs 微服务:SOA 强调服务复用与企业级总线(ESB);微服务强调单一职责、独立部署、去中心化治理,粒度更细、技术栈可异构。
4.2 微服务与云原生关键机制
- 服务注册与发现(注册中心)、API 网关(路由、鉴权、限流)、配置中心;
- 熔断、降级、限流、隔离(防止故障扩散);
- 容器与编排(Docker/Kubernetes)、DevOps 与 CI/CD、可观测性(日志/指标/链路追踪);
- Serverless:按需运行、按量计费,适合事件驱动与弹性场景。
4.3 数据架构
| 手段 | 目的 |
|---|---|
| 缓存(本地/分布式) | 降低数据库压力、提升读性能(注意缓存一致性) |
| 读写分离 | 主库写、从库读,提升读吞吐 |
| 分库分表 | 突破单库容量与性能瓶颈(水平/垂直拆分) |
| 数据仓库/湖仓 | 面向分析的集成存储(与 OLTP 分离) |
CAP 定理:一致性(C)、可用性(A)、分区容错性(P)三者不可同时完全满足;分布式系统通常必须容忍分区(P),在 C 与 A 之间取舍;BASE(基本可用、软状态、最终一致)是弱一致性实践思路。
4.4 高可用与容灾
- 架构层次:单机冗余(RAID/双电源)→ 集群(主备、双活)→ 同城双活 / 异地多活;
- 指标:RTO(恢复时间目标)、RPO(恢复点目标)——RTO 关注"多久恢复",RPO 关注"丢多少数据";
- 备份策略:全量/增量/差异(与信息安全章一致)。
4.5 安全架构要点
- 认证与授权(OAuth2/OIDC 思路)、最小权限、传输与存储加密、密钥管理;
- 边界防护(WAF/防火墙)、零信任思路(默认不信任、持续验证);
- 合规:等级保护(等保 2.0)要求与数据安全合规。
🧠 记忆工具箱
口诀速记
- 微服务五件套:注册发现、网关、配置中心、熔断限流、链路追踪;
- CAP:分布式必容忍 P,在 C 与 A 之间选;BASE=基本可用 + 软状态 + 最终一致;
- 容灾两指标:RTO 看时间、RPO 看数据;
- 缓存三问:要不要缓存、缓存什么、何时失效(一致性)。
例题(带解析)
例题 1:某电商系统在双十一期间通过消息队列把下单请求异步化,避免数据库被瞬时流量击垮。这主要体现了消息中间件的哪种作用? A. 数据持久化 B. 异步解耦与削峰填谷 C. 提升一致性 D. 替代数据库事务 答案 B。解析:消息中间件通过异步解耦、缓冲流量实现削峰填谷;它不替代事务,且引入最终一致性问题。
例题 2:关于 CAP 与 BASE,下列说法正确的是? A. 分布式系统可以同时满足 CAP 三者 B. 分布式系统通常必须容忍分区,在一致性与可用性之间取舍;BASE 是弱一致性实践 C. BASE 强调强一致性 D. CAP 与 BASE 是同一概念 答案 B。解析:CAP 指出三者不可同时完全满足,分区容错在分布式系统中通常必须保证,需在 C/A 间权衡;BASE 通过基本可用、软状态与最终一致性实现灵活性。
⚠️ 易错提醒
- 微服务 ≠ SOA:SOA 更强调复用与总线,微服务更强调自治与独立部署;
- 缓存一致性是常见隐患:更新数据库与失效缓存需有策略(如先更新库再删缓存);
- RTO 与 RPO 别记反:RTO=多久恢复(时间),RPO=丢多少数据(数据);
- CAP 中"必须容忍 P"是因为网络分区无法避免,不是因为 P 比 C、A 更重要。