Nacos 集成
Nacos 在 Spring Cloud Alibaba 中同时承担 服务注册发现 与 配置中心,是国内微服务最常见组合。中间件原理见 Nacos;分文档见 服务注册与发现、配置中心。
依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>Boot 3 常用 spring.config.import 替代 bootstrap.yml:
spring:
application:
name: order-service
config:
import:
- optional:nacos:order-service.yaml?group=ORDER&refreshEnabled=true
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
namespace: dev
group: ORDER
config:
server-addr: 127.0.0.1:8848
namespace: dev
group: ORDER
file-extension: yaml注册发现
@SpringBootApplication
@EnableDiscoveryClient
public class OrderApplication { }Gateway / Feign 使用服务名:
spring:
cloud:
gateway:
routes:
- id: order
uri: lb://order-service| 能力 | 配置要点 |
|---|---|
| 命名空间 | namespace 隔离环境 dev/test/prod |
| 集群 | cluster-name 同城优先 |
| 权重 | 元数据 weight 配合负载均衡 |
| 优雅下线 | 优雅停机 + 注销实例 |
配置动态刷新
@RestController
@RefreshScope
public class ConfigDemoController {
@Value("${promotion.enabled:false}")
private boolean promotionEnabled;
}Nacos 控制台改配置 → 长轮询推送 → Bean 刷新(@RefreshScope 或 @ConfigurationProperties)。
与其它注册中心
常配合的 Alibaba 组件
| 组件 | Spring Cloud 页 |
|---|---|
| Sentinel | Sentinel 集成 |
| Seata | Seata |
| RocketMQ | RocketMQ |