Nacos 集成

返回 Spring Cloud

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)。

配置中心Profile 对照。


与其它注册中心

组件Spring Cloud 文档中间件
Nacos本文Nacos
Eureka服务注册与发现Eureka
Consul服务注册与发现Consul

常配合的 Alibaba 组件

组件Spring Cloud 页
SentinelSentinel 集成
SeataSeata
RocketMQRocketMQ

相关链接