当前位置: 首页 > news >正文

Spring Cloud微服务

目录

  • 1. 服务注册与发现
  • 2. 服务调用与负载均衡
  • 3. 服务网关
  • 4. 配置文件
  • 5. 断路器
  • 6. 链路追踪
  • SpringCloud工作流程:

1. 服务注册与发现

作用:让服务实例自动注册到注册中心,并动态发现可用服务。

  • Eureka(Netflix):传统注册中心,服务端与客户端模式,已停止更新。
  • Consul(HashiCorp):基于 Raft 算法,支持多数据中心,提供健康检查。
  • Nacos(阿里巴巴):阿里开源的注册中心与配置中心,支持动态服务发现、配置管理和流量管理。

Nacos服务需要下载。

在springboot项目中需要配置配置依赖nacos和loadbalancer

2. 服务调用与负载均衡

作用:实现微服务之间的远程调用,并均衡分配请求流量。

  • Ribbon:需要手动构建 HTTP 请求
  • FeignClient:在Ribbon上优化,不需要手动构建 HTTP 请求
@FeignClient("user-service") // 调用名为user-service的服务,这样不用手写httpRequest请求,简化代理逻辑
public interface UserService {@GetMapping("/users/{id}")User getById(@PathVariable Long id);
}

3. 服务网关

作用:作为系统入口,根据路由地址转发、负载均衡、权限校验、流量控制等。

  • Zuul(Netflix):传统网关,基于 Servlet,已停止维护。
  • Spring Cloud Gateway:新一代网关,基于 WebFlux,性能更高,支持动态路由和谓词匹配。

4. 配置文件

作用:集中管理微服务配置,支持动态更新。

  1. 将Nacos服务器中微服务配置文件import导入yml文件。
  2. 添加RefreshScope 注解实现动态刷新。

5. 断路器

作用:防止服务雪崩,当目标服务不可用时快速熔断,避免级联故障。

6. 链路追踪

作用:追踪分布式系统中请求的完整路径,定位性能瓶颈。

SpringCloud工作流程:

  1. 服务注册:微服务启动时向注册中心(如 Nacos)注册 IP 和端口。
  2. 服务发现:调用方通过注册中心获取可用服务列表。
  3. 请求路由:客户端通过 Feign+Ribbon 调用服务,或通过 Gateway 转发请求。
  4. 负载均衡:Ribbon 从服务列表中选择实例,均衡分配流量。
  5. 熔断保护:Resilience4j 监控服务健康状态,异常时触发熔断。
  6. 配置更新:配置中心推送更新,服务通过 RefreshScope 动态刷新配置。
http://www.xdnf.cn/news/1066393.html

相关文章:

  • Java面试题027:一文深入了解数据库Redis(3)
  • 【软考高级系统架构论文】论数据分片技术及其应用
  • Redis中的bigkey的介绍及影响
  • 安全再升级! 正也科技通过信息安全等级保护三级备案
  • 七八章习题测试
  • 高级版 Web Worker 封装(含 WorkerPool 调度池 + 超时控制)
  • 本地文件深度交互新玩法:Obsidian Copilot的深度开发
  • 能耗管理新革命:物联网实现能源高效利用
  • 小学期前端三件套学习(更新中)
  • 开启游戏新时代:神经网络渲染技术实现重大跨越
  • 【Torch】nn.GRU算法详解
  • 前端跨域解决方案(7):Node中间件
  • 容器技术入门与Docker环境部署指南
  • asp.net core Razor动态语言编程代替asp.net .aspx更高级吗?
  • 如何在 Vue 应用中嵌入 ONLYOFFICE 编辑器
  • LED-Merging: 无需训练的模型合并框架,兼顾LLM安全和性能!!
  • WebSocket长连接在小程序中的实践:消息推送与断线重连机制设计
  • 运维打铁: Windows 服务器基础运维要点解析
  • 详解HarmonyOS NEXT仓颉开发语言中的全局弹窗
  • AI编程再突破,文心快码发布行业首个多模态、多智能体协同AI IDE
  • vue3整合element-plus
  • WebSocket快速入门
  • 卓易通是什么
  • 深度学习:PyTorch卷积神经网络(CNN)之图像入门
  • 【软考高级系统架构论文】论企业集成平台的理解与应用
  • Spring Boot 使用 ElasticSearch
  • 大数据时代UI前端的变革:从静态展示到动态交互
  • ISCSI存储
  • FreeRTOS 介绍、使用方法及应用场景
  • RabbitMQ从入门到实践:消息队列核心原理与典型应用场景