使用Nacos将单体服务注册成微服务的步骤以及相关问题解决

目录

1.改造单体服务的配置文件。 

2.添加Nacosw相关的pom依赖

3.在nacos的配置列表中创建配置列表

4.相关问题的解决


1.改造单体服务的配置文件。 

创建一个bootstrap.yml的配置文件该文件通常放置在src/main/resources目录中,并且优先于application.yml或application.properties文件加载

# Tomcat
server:
  port: 9507
# Spring
spring: 
  application:
    # 应用名称
    name: guns-data-quality
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
2.添加Nacosw相关的pom依赖
     

        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        

        
        
            io.github.openfeign
            feign-okhttp
        

        
        
            org.springframework.cloud
            spring-cloud-starter-loadbalancer
        


        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        

        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
        

        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-sentinel
        

        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
  
3.在nacos的配置列表中创建配置列表

 点击最右侧的 + 号进行配置文件的创建,填入Data ID(建议按照一定规则命名Data ID,例如按照应用名称、模块名称、业务名称等维度进行命名);Group(填入对应的分租名称。)

最后在配置内容中,将之前的application.yml等的配置文件内容可以写入进去,

需要注意的是在配置数据库连接的时候,不要直接复制进入,因为两者的语法配置略有不同

spring:
  datasource:
    dynamic:
      datasource:
        master:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=true&serverTimezone=UTC
          username: ***
          password: ***

最后点击发布

4.相关问题的解决

3.1.发布之后无法找到数据源,可能是你的配置语法有问题,导致配置没有生效,有效办法将其他的和启动无关的配置删除,保留数据库配置逐一排除。

3.2.数据库版本错误,升级数据库版本即可.

3.3.在public上面发布能正常启动项目,当时在其他命令空间导入相同的配置文件发布相同的配置的时候项目启动失败。原因是不同的命令空间保存到的数据库是一样的,所以在第一次发布的时候会保存到nacos数据库,如何不改变文件内容,再次点击发布,nacos会检测是否发生改变,如果没有是不会再次发布的。

 

你可能感兴趣的:(Nacos,微服务,架构,云原生)