springcloud微服务入门

springcloud微服务入门

💡 原文中文,约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是一个分布式事务解决方案,旨在保证在微服务架构下的事务一致性,支持多种事务模式。

什么是滑动窗口限流算法?

滑动窗口限流算法是对固定窗口限流的改进,通过将时间窗口切分为更小的时间片,避免窗口切换时的流量突发问题。

➡️

继续阅读