分布式架构概述
请求业务比较长(耗时业务),需要分布式系统。
1. 本章节内容
- 分布式缓存中间件Redis
- 分布式会话与单点登录
- 分布式搜索引擎Elasticsearch
- 分布式文件系统
- 分布式消息队列
- 分布式锁
- 数据库读写分离与分库分表
- 数据库表全局唯一主键id设计
- 分布式事务与数据一致性
- 接口幂等设计与分布式限流
2. 什么是分布式架构
- 不同的业务(功能模块)分散部署在不同的服务器
- 每个子系统负责一个或者多个不同的业务模块
- 服务之间可以相互交互与通信
- 分布式系统设计对用户透明
- 可以发展为集群分布式系统架构
a. 单体架构图
b. 分布式架构
3. 分布式架构优缺点
a. 优点
- 业务解耦
- 系统模块化,可重用化
- 提升系统并发量
- 优化运维部署效率
b. 缺点
- 架构复杂
- 部署多个子系统复杂
- 系统之间通信耗时
- 新人融入团队缓慢
- 调试复杂
4. 分布式架构设计原则
- 异步解耦(消息队列)
- 幂等一致性(多次点击结果一致性,主要是针对增加+修改)
- 拆分原则
- 融合分布式中间件
- 容错高可用