Spring Cloud 核心组件部署方式速查表

  1. 独立服务端 (Server):需要下载安装包,独立启动进程(类似装 MySQL)。
  2. Spring Boot 应用 (App):需要你创建一个 Java 项目,引入依赖,写启动类(类似写业务代码)。
  3. 代码依赖库 (Library) :只需要在 pom.xml 里引入,不需要单独启动,它寄生在你的服务里。

Spring Cloud 核心组件部署方式表

组件名称 角色定位 部署/启动方式 是否需要写代码 典型操作
Nacos 注册中心 & 配置中心 (通讯录+广播站) 独立服务端 (下载压缩包 -> 解压 -> 运行脚本) ❌ 不需要 下载 Nacos,运行 startup.shstartup.cmd
Sentinel Dashboard 流控控制台 (流量遥控器) 独立服务端 (下载 jar 包 -> java -jar 运行) ❌ 不需要 下载 sentinel-dashboard.jar,运行命令启动
Spring Cloud Gateway 网关 (大楼前台/保安) Spring Boot 应用 (创建一个独立的微服务项目) ✅ 需要 新建一个 Spring Boot 工程,引入 Gateway 依赖,配置路由规则,启动
OpenFeign 远程调用 (对讲机) 代码依赖库 (POM) (嵌入在你的业务服务里) ✅ 需要 pom.xml 加依赖,代码里加 @FeignClient 注解
LoadBalancer 负载均衡 (选号器) 代码依赖库 (POM) (嵌入在你的业务服务里) ❌ 不需要 (通常被 Feign/Gateway 自动引入) 只要引入了 Feign 或 Nacos Discovery,它就自动在里面干活了
Sentinel Core 限流熔断核心 (空调主机/阀门) 代码依赖库 (POM) (嵌入在网关或业务服务里) ✅ 需要 pom.xml 加 Sentinel 依赖,它会随服务一起启动
Seata (进阶) 分布式事务 (事务大管家) 独立服务端 (TC) + 代码依赖库 (RM/TM) ❌ Server端不用 ✅ Client端需要 也要下载 Seata Server 独立运行,业务代码里加依赖

详细拆解与避坑指南

1. 那些"独立部署"的家伙 (Server)

这些组件就像 MySQLRedis 一样,属于基础设施

  • Nacos:

  • 怎么玩: 去官网下载 .zip.tar.gz,解压,进入 bin 目录,执行启动命令。

  • 注意: 生产环境它通常是 3 台组成的集群,外挂一个 MySQL 数据库。

  • Sentinel Dashboard:

  • 怎么玩: 去 GitHub 下载一个 .jar 包,直接用 java -jar sentinel-dashboard.jar 启动。

  • 注意: 它挂了不影响业务运行,只是你没法改规则了。

2. 那个"像业务服务"的家伙 (App)
  • Spring Cloud Gateway:
  • 怎么玩: 它本质上就是一个普通的 Spring Boot 项目
  • 区别: 普通服务写的是 Controller (业务逻辑),它写的是 application.yml (路由规则)。
  • 启动: 和启动你的 OrderServe 一模一样,运行 main 方法。
3. 那些"隐形"的家伙 (Library)
  • OpenFeign / LoadBalancer / Sentinel Core:
  • 怎么玩: 它们是寄生虫
  • 原理: 只要你在 pom.xml 里写了 <dependency>...openfeign...</dependency>,Maven 就会把它们的 Jar 包下载下来。当你启动 OrderServe 时,这些代码就加载进内存了。
  • 看不见: 你在服务器上通过 ps -ef | grep java 看进程时,看不到 Feign 或 LoadBalancer 的进程,你只能看到 OrderServe 的进程。

总结一条规律

  • 要存数据的、要提供管理界面的 -> 通常是 独立部署 (Server) (如 Nacos, Sentinel Dashboard)。
  • 处理网络请求入口的 -> 通常是 Spring Boot 应用 (App) (如 Gateway)。
  • 处理服务间逻辑调用的 -> 通常是 POM 依赖 (Library) (如 Feign, LoadBalancer)。
相关推荐
William_cl20 小时前
ASP.NET路由长度约束精讲:[HttpGet (“{name:minlength (3)}“)] 字符长度限制吃透,附避坑指南 + 实战代码
后端·asp.net
我命由我1234521 小时前
Java 泛型 - Java 泛型通配符(上界通配符、下界通配符、无界通配符、PECS 原则)
java·开发语言·后端·java-ee·intellij-idea·idea·intellij idea
szhf7821 小时前
SpringBoot Test详解
spring boot·后端·log4j
无尽的沉默21 小时前
SpringBoot整合Redis
spring boot·redis·后端
摸鱼的春哥21 小时前
春哥的Agent通关秘籍07:5分钟实现文件归类助手【实战】
前端·javascript·后端
瑶山21 小时前
Spring Cloud微服务搭建五、集成负载均衡,远程调用,熔断降级
spring cloud·微服务·负载均衡·远程调用·熔断降级
树码小子21 小时前
综合练习:验证码案例(1)总体设计
java·开发语言·spring
Victor35621 小时前
MongoDB(2)MongoDB与传统关系型数据库的主要区别是什么?
后端
JaguarJack21 小时前
PHP 应用遭遇 DDoS 攻击时会发生什么 从入门到进阶的防护指南
后端·php·服务端
BingoGo21 小时前
PHP 应用遭遇 DDoS 攻击时会发生什么 从入门到进阶的防护指南
后端