分布式入门
分布式入门
一、核心概念
-
分布式架构本质
将单体应用拆分为多个功能独立的子服务(微服务),部署在不同物理节点上,通过网络通信协同工作。 -
与集群的区别
• 集群:多台机器运行相同服务(水平扩展)• 分布式:不同机器运行不同服务(功能拆分)
示例:电商系统可集群部署订单服务(应对高并发),同时分布式部署订单、支付、库存等服务。
二、架构演进
架构类型 | 优势 | 挑战 |
---|---|---|
单体架构 | 部署简单、事务一致性强 | 扩展性差、技术栈耦合 |
分布式架构 | 弹性扩展、技术异构性 | 网络延迟、分布式事务 |
三、核心组件
-
API网关
• 功能:路由转发、负载均衡、鉴权限流• 技术选型:Spring Cloud Gateway/Kong
-
服务注册中心
• 核心能力:✓ 服务注册/发现(Eureka/Nacos)
✓ 健康检查(心跳机制)
✓ 配置中心(动态推送配置)
• 工作流程: -
熔断机制
• 模式:断路器模式(Hystrix/Sentinel)• 触发条件:错误率阈值、超时时间
• 三级防护:
1. 快速失败(Fail Fast) 2. 服务降级(Fallback) 3. 自动恢复(Circuit Breaker半开状态)
四、关键挑战
-
模块化升级
• 灰度发布策略• 接口版本控制(URL路径/Header版本号)
-
多语言协作
• 通信协议:REST(HTTP+JSON)、gRPC(ProtoBuf)• 契约优先:OpenAPI/Swagger规范
-
扩展性问题
• 无状态设计(Session共享方案:Redis/JWT)• 数据分片策略(一致性Hash/范围分片)