SpringBoot环境多实例的配置问题

266 阅读1分钟

使用nacos时候,要用相同的项目搭建多个集群,正常来说在idea中复制环境配置,修改下端口号和集群名就行了,但是我不知道为什么这样弄了,但很这些实例总是都在最后配置那个集群里。 换个写法来编写环境配置

在yml配置中分别编写多个实例的配置

server:
  port: 8082
spring:
  application:
    name: cloud-user-api
  profiles: cluster1
  datasource:
    url: jdbc:mysql://localhost:3306/cloud?serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: SH

logging:
  level:
    cn.clouduserapi.mapper: debug
---
server:
  port: 8084
spring:
  application:
    name: cloud-user-api
  profiles: cluster2
  datasource:
    url: jdbc:mysql://localhost:3306/cloud?serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: HZ

logging:
  level:
    cn.clouduserapi.mapper: debug

image.png 注意: 不是--spring.profiles.active=""这种,而是直接写名字

同样如果你在nacos的配置中心中配置了一个userService-dev.yaml 那么在bootstrap.yaml中一定是这么指定的

spring:
  application:
    name: userService
  profiles:
    active: dev

在多实例时就要按逗号分隔开

image.png