微服务架构
1. 微服务架构简介
Section titled “1. 微服务架构简介”微服务框架致力于将庞大的单体应用拆分为一组独立部署、松耦合的轻量级服务,通过轻量级通信机制(如 HTTP/REST 或 gRPC)进行协同。
2. 核心基础组件
Section titled “2. 核心基础组件”构建一个健壮的微服务生态,通常需要以下标准组件的支撑:
2.1. 服务治理与通信
Section titled “2.1. 服务治理与通信”- 注册中心 (Service Registry):负责服务的自动注册与发现,动态感知节点上下线。典型工具:Nacos, Eureka, Consul。
- 配置中心 (Configuration Center):集中管理各微服务的环境配置,支持热更新。典型工具:Nacos, Apollo。
- 远程调用 (RPC / Feign):服务间的同步通信通道。
- API 网关 (API Gateway):统一流量入口,处理鉴权、路由、协议转换。典型工具:APISIX, Spring Cloud Gateway, Kong。
2.2. 高可用与容错 (Resilience)
Section titled “2.2. 高可用与容错 (Resilience)”- 熔断器 (Circuit Breaker):在依赖服务异常时快速失败,防止系统雪崩。
- 限流与降级 (Rate Limiting & Degradation):面对突发流量时,限制请求速率并牺牲非核心功能以保全主链路。
- 分布式事务:解决跨服务的数据一致性问题(如基于 Seata 的 TCC 或 AT 模式)。
2.3. 可观测性 (Observability)
Section titled “2.3. 可观测性 (Observability)”- 链路跟踪 (Distributed Tracing):串联跨服务的请求调用链,定位性能瓶颈(如 SkyWalking, Zipkin)。
- 日志采集 (Log Aggregation):
- 采集与存储:Logstash -> ElasticSearch
- 检索与可视化:Kibana (即 ELK 栈)
- 服务监控 (Monitoring & Alerting):
- 指标采集:Prometheus
- 报表大屏:Grafana
3. 行业主流微服务框架
Section titled “3. 行业主流微服务框架”- Dubbo:阿里开源的高性能 RPC 框架。
- Spring Cloud Netflix:早期最流行的微服务全家桶(如 Eureka, Ribbon, Hystrix),目前部分组件已进入维护期。
- Spring Cloud Alibaba:目前国内最活跃的微服务生态体系,深度整合了 Nacos, Sentinel, Seata 等组件。