将Eureka更换为nacos

时间:2024-03-17 20:34:38

首先引入依赖的jar包

<!-- nacos注册中心 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>0.1.2.RELEASE</version>
</dependency>
<!-- nacos配置中心 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>0.1.2.RELEASE</version>
</dependency>

此处注意,版本号跟springboot的版本是一一对应的,此处的版本号是0.1.2.RELEASE,对应的spring-boot和cloud的版本时1.X, 如果boot和cloud的版本号为2.X时,对应的nacos的版本号为0.2.2.RELEASE。

然后需要到IDEA里选择File->Project Structure里选择

将Eureka更换为nacos

因为拉取文件时,原来的Eureka相关的jar包可能没有被删除掉,会报一个注册中心和配置中心异常的错误,这时需要手动去删除掉Euraka文件才行。

接下来我是想将配置加入到数据库中,所以就需要再nacos配置文件中进行配置。

解压nacos,进入nacos的conf目录进行修改配置文件,vi application.properties

将Eureka更换为nacos

# datasource config
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.50.239:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456

 

然后将config下的nacos-mysql.sql脚本拷出,新建nacos_config数据库,执行该sql, 需要改nacos登录密码的话,打开users表,

将nacos的用户修改为自己想要的名字,然后登录后可进行修改密码。

 

下面开始配置nacos配置中心,首先新建namespace

将Eureka更换为nacos

根据多种环境进行新建名字空间

将Eureka更换为nacos

在对应的环境下加入配置文件

接下来开始在bootsrap.yml里引入配置中心、加入nacos注册中心

将Eureka更换为nacos

spring:
  application:
    name: ylapp-upms-service
  profiles:
    active: dev

#  cloud:
#    config:
#      fail-fast: true
#      discovery:
#        service-id: ylapp-config-server
#        enabled: true
#      profile: ${spring.profiles.active}
#      label: ${spring.profiles.active}

  cloud:
    nacos:
      discovery:
        server-addr: 192.168.50.239:8848
        group: ${spring.profiles.active}
      config:
        server-addr: 192.168.50.239:8848
        file-extension: yml
        group: ${spring.profiles.active}
        ext-config: #配置公共配置列表
          - dataId: application-${spring.profiles.active}.yml
            group: ${spring.profiles.active}
            refresh: true


# 日志级别,可以指定到具体类(此处用来过滤掉nacos的info日志)
logging.level.com.alibaba.nacos.client.naming: WARN

 

将Eureka更换为nacos

---
spring:
  profiles: dev

  cloud:
    nacos:
      discovery:
      config:
        namespace: 2de4e2db-bbc0-4971-8dec-9d7c84344375

log:
  path: ./logs

---
spring:
  profiles: ltest

  cloud:
    nacos:
      discovery:
      config:
        namespace: a2c4bb04-f781-44af-ae05-d6ab40f359c4

 

至此,整个配置完成,服务正常启动。其中坑很多,大部门都是配置的错误,在做以上操作时,请仔细检查参数是否正确。