Skip to content

微服务技术栈总览(Spring Cloud Alibaba)

一句话定位:微服务 = 把单体拆成「按业务边界划分的独立服务」,靠 Nacos(注册/配置)+ OpenFeign(服务调用)+ Gateway(网关)+ Sentinel(熔断限流)+ Seata(分布式事务) 五大组件串成一套可扩展的分布式体系;Spring Cloud Alibaba 是国内微服务的事实标准栈。

组件栈地图

组件职责
注册/配置中心Nacos服务注册发现 + 动态配置(AP 默认、可切 CP)
服务调用OpenFeign声明式 HTTP 客户端(接口 + 注解 → 动态代理)
负载均衡LoadBalancer客户端负载均衡(替代 Ribbon)
网关Gateway统一入口、路由转发、鉴权(响应式 Netty)
流量治理Sentinel限流、熔断、降级、热点保护
分布式事务Seata跨服务事务(AT 默认 / TCC / XA / SAGA)
消息RabbitMQ异步解耦

一条请求的完整链路

客户端 → Gateway(网关路由/鉴权) → 某服务(OpenFeign 调用下游)
         ↓                            ↓
      Nacos 拉服务列表            Sentinel 限流/熔断保护
         ↓                            ↓
      下游服务(Seata 保证跨服务事务一致)

学习路径(对应 Leo 素材 13 步)

系统架构演进 → SCA 概述 → 环境准备 → RPC 远程调用 → Nacos 注册中心 → LoadBalancer 负载均衡 → OpenFeign → Gateway 网关 → Nacos 配置中心 → Sentinel 限流 → Sentinel 隔离降级 → Sentinel 授权 → 规则持久化

不变量(必须成立的约束)

  • 微服务的每个组件都是独立部署的独立服务,通过注册中心(Nacos)互相发现,不写死 IP
  • 服务间调用统一走 OpenFeign 声明式接口,网关是外部访问的唯一入口
  • 流量治理(Sentinel)和事务(Seata)是高并发/跨服务场景才必需,小项目别过度设计。

常见误解

  • 以为微服务一定比单体好 → 拆分带来分布式事务、链路追踪、运维复杂度,业务简单时单体更合适。
  • 以为注册中心就是配置中心 → 注册(服务发现)和配置(动态参数)是两件事,Nacos 恰好都做了。

关联

最近更新