spring cloud微服务常用组件

组件介绍

  • ​Nacos ​:在微服务架构中,每个服务可能是集群部署在多台服务器上,并且由于扩容或者是迁移IP是动态变化的,这样不方便管理,也不便于微服务间的通信。因此需要有一个独立的中心平台,对所有的微服务进行统一管理。nacos便是充当这个角色的,提供服务注册发现 ,让服务找到彼此;集中管理配置,使动态调整无需重启。

  • ​OpenFeign ​:微服务之间的通信中同步方案通常通过RESTful风格的HTTP API实现。而传统方式使用RestTemplate 这种编程式实现需要自己拼接请求路径比较麻烦,而OpenFeign可以理解为是一种更高阶抽象的声明式的服务调用RPC框架 ,提高了开发效率的同时还提升了系统的可维护性。无缝集成spring-cloud-starter-loadbalancer实现负载均衡

  • ​Sentinel ​:微服务之间相互依赖,一个服务的不可用(如处理缓慢或者异常)可能沿着调用链蔓延,导致整个系统崩溃。sentinel以流量 为切入点,实现流量控制 、熔断降级 和系统保护,保障服务的稳定性和高可用。

  • Gateway ​:微服务架构下,应用被拆分为数十甚至上百个服务。如果让客户端直接面对这么多细粒度的服务,会存在认证、鉴权、日志、流量控制等公共逻辑重复实现 、难以管理的问题。需要一个统一的流量入口,作为所有请求的"门卫"和"路由",统一处理非业务功能。

  • ​Seata ​:在单体应用拆分为微服务后,一个业务操作需要跨多个服务、多个数据库。此时,单个数据库的ACID事务无法保障业务数据的全局一致性。需要一个外部的组件来协调多个本地事务,要么全部成功,要么全部回滚,这就是分布式事务问题,Seata就是为此而生。

相关推荐
Flynn Liang7 小时前
Spring AI 上生产:限流熔断、密钥与成本治理、私有化/混合部署、降级与 Prompt 灰度架构全解
人工智能·spring·架构·高可用·springai·成本治理·生产架构
Flynn Liang8 小时前
Spring AI 2.0 深度解析:ChatClient、Advisor 链与 MCP——Java 工程师的 AI 落地最优解
java·人工智能·spring·大模型·架构设计·spring ai
liangbo710 小时前
Spring系列01:IoC 与 DI 到底解决了什么
java·spring
杨凯凡11 小时前
Spring Boot 的 @Transactional 为什么会失效?从代理、自调用到异常回滚的排查实战
java·spring boot·spring·事务·后端开发
哦虎!12 小时前
【JavaEE进阶】SpringBoot
spring
利威尔xu1 天前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
逃逸线LOF1 天前
Ribbon负载均衡原理(Irule组件、源码分析)
后端·spring cloud·ribbon
利威尔xu1 天前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
霸道流氓气质1 天前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
frjc1 天前
Spring AI 高级实战:ChatMemory、Tool Calling 与 MCP 架构解析
人工智能·spring·架构