💡
原文中文,约17700字,阅读约需43分钟。
📝
内容提要
单体架构将所有功能集中在一个项目中,简单但耦合度高;分布式架构将功能拆分为独立模块,降低耦合,便于扩展。分布式事务需要协调各子事务状态,CAP理论强调一致性、可用性和分区容错性之间的权衡。分布式锁可通过Redis或Zookeeper实现,以确保资源在并发环境中的安全使用。
🎯
关键要点
- 单体架构将所有功能集中在一个项目中,耦合度高,扩展性差。
- 分布式架构将功能拆分为独立模块,降低耦合,便于扩展。
- 分布式事务需要协调各子事务状态,确保一致性。
- CAP理论强调一致性、可用性和分区容错性之间的权衡。
- 分布式锁可通过Redis或Zookeeper实现,确保资源安全使用。
- BASE理论是AP系统的延伸,追求高可用性,允许数据不一致。
- 分布式事务的解决方案包括AP模式和CP模式。
- 滑动窗口限流算法解决固定窗口限流的缺陷。
- 漏桶限流算法对流量进行整流,但不能解决流量突发问题。
- 令牌桶限流算法允许一定程度的流量突发,综合效果较好。
- Raft和Paxos是经典的分布式一致性算法,Raft更易实现。
- 微服务架构特征包括单一职责、自治和强隔离性。
- Eureka和Nacos是常用的服务注册与发现组件。
- Sentinel提供流量控制、熔断降级和系统自适应保护。
- Seata是分布式事务解决方案,支持AT、TCC、Saga和XA模式。
- 配置中心解决集中管理各节点配置文件的问题,集中式日志管理收集各节点日志。
❓
延伸问答
什么是单体架构和分布式架构的区别?
单体架构将所有功能集中在一个项目中,耦合度高,扩展性差;而分布式架构将功能拆分为独立模块,降低耦合,便于扩展。
CAP理论是什么?
CAP理论强调在分布式系统中,一致性、可用性和分区容错性之间的权衡,指出不可能同时满足这三者。
如何实现分布式锁?
分布式锁可以通过Redis或Zookeeper实现,Redis使用SET命令加上NX和PX选项来确保锁的安全性。
什么是微服务架构的特点?
微服务架构的特点包括单一职责、自治、强隔离性和面向服务,便于独立开发和部署。
Seata是什么,它解决了什么问题?
Seata是一个分布式事务解决方案,旨在保证在微服务架构下的事务一致性,支持多种事务模式。
什么是滑动窗口限流算法?
滑动窗口限流算法是对固定窗口限流的改进,通过将时间窗口切分为更小的时间片,避免窗口切换时的流量突发问题。
➡️