是实现微服务的工具与框架
微服务的五大组件:(目前使用的)
1.注册中心/配置中心: Nacos
注册中心
作用:实现服务的自动注册与动态发现,解决服务实例动态变化时的通信问题。
- 服务注册:实例启动时向注册中心注册自身信息(IP、端口、服务名)。
- 服务发现:消费者通过注册中心查询可用服务实例,支持负载均衡选择实例。
- 健康检查:定期检测服务状态,自动剔除故障节点,保障调用可靠性。
配置中心
作用:统一管理分布式环境下的配置,实现配置的动态更新与版本控制。
- 集中管理:所有服务的配置存储在中心服务器,避免本地配置散落。
- 环境隔离:支持开发、测试、生产等多环境配置隔离,降低出错风险。
- 实时生效:配置变更后推送至服务,无需重启
2.远程调用: OpenFeign
作用:作为 Spring Cloud 核心组件,与以下工具协同工作:
API 网关:网关路由到具体服务后,内部通过 Feign 进一步调用其他服务。
链路追踪:自动传递 Trace ID,支持在 Zipkin/SkyWalking 中追踪完整调用链。
配置中心:动态调整 Feign 客户端的超时、重试策略等参数。
- 开发效率高:接口即文档,减少模板代码。
- 维护成本低:统一管理服务调用逻辑,修改无需深入实现层。
- 扩展性强:通过拦截器可灵活添加认证、日志等全局逻辑。
- 生态兼容性好:天然适配 Spring Cloud 技术栈,降低集成复杂度。
3.服务保护: Sentinel
是阿里开源的轻量级流量治理与系统保护组件,专注于解决微服务架构中的高可用性问题,尤其在应对流量激增、服务依赖故障、系统资源过载等场景时,提供流量控制、熔断降级、系统自适应保护等能力,防止服务雪崩,保障核心业务稳定运行
4.分布式事务: Seata
在分布式事务中,参与事务的多个分支事务互相无感知,不知道彼此的执行状态,Seata就是一个统一的事务协调者.
与多个分支事务通信,检测每个分支事务的执行状态,保证全局事务下的每一个分支事务同时成功或失败。
5.网关:Gateway
作用:作为系统对外的唯一入口,集中处理非业务功能,提升安全性与可维护性。
- 路由转发:将客户端请求按规则分发至后端服务(如按路径或域名)。
- 安全控制:统一鉴权(JWT/OAuth2)、IP黑白名单、防爬虫与DDoS攻击。
- 流量管控:限流(如令牌桶算法)、熔断降级、请求日志监控。
- 协议转换:处理HTTP与gRPC等内部协议间的转换,支持WebSocket。