跳转到内容

微服务架构

微服务框架致力于将庞大的单体应用拆分为一组独立部署、松耦合的轻量级服务,通过轻量级通信机制(如 HTTP/REST 或 gRPC)进行协同。


构建一个健壮的微服务生态,通常需要以下标准组件的支撑:

  • 注册中心 (Service Registry):负责服务的自动注册与发现,动态感知节点上下线。典型工具:Nacos, Eureka, Consul。
  • 配置中心 (Configuration Center):集中管理各微服务的环境配置,支持热更新。典型工具:Nacos, Apollo。
  • 远程调用 (RPC / Feign):服务间的同步通信通道。
  • API 网关 (API Gateway):统一流量入口,处理鉴权、路由、协议转换。典型工具:APISIX, Spring Cloud Gateway, Kong。
  • 熔断器 (Circuit Breaker):在依赖服务异常时快速失败,防止系统雪崩。
  • 限流与降级 (Rate Limiting & Degradation):面对突发流量时,限制请求速率并牺牲非核心功能以保全主链路。
  • 分布式事务:解决跨服务的数据一致性问题(如基于 Seata 的 TCC 或 AT 模式)。
  • 链路跟踪 (Distributed Tracing):串联跨服务的请求调用链,定位性能瓶颈(如 SkyWalking, Zipkin)。
  • 日志采集 (Log Aggregation)
    • 采集与存储:Logstash -> ElasticSearch
    • 检索与可视化:Kibana (即 ELK 栈)
  • 服务监控 (Monitoring & Alerting)
    • 指标采集:Prometheus
    • 报表大屏:Grafana

  • Dubbo:阿里开源的高性能 RPC 框架。
  • Spring Cloud Netflix:早期最流行的微服务全家桶(如 Eureka, Ribbon, Hystrix),目前部分组件已进入维护期。
  • Spring Cloud Alibaba:目前国内最活跃的微服务生态体系,深度整合了 Nacos, Sentinel, Seata 等组件。