Cloud依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>${spring-cloud-alibaba.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

1:注册中心:

(1):导入Maven依赖包:服务注册依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

首先Nacos需要先创建一个组和一个命名空间。不填写命名空间的话会自动生成一个

openfeign使用nacos做注册中心 nacos作为注册中心_java

这里的1010班级命名空间改成dev402与下面图对应:

openfeign使用nacos做注册中心 nacos作为注册中心_spring_02


openfeign使用nacos做注册中心 nacos作为注册中心_java_03

根据命名空间和组在项目中的服务可以找到这个自己所在的地方:完成服务注册,完成服务注册暂时没有用到group分组,分组是与下面的服务配置有关

spring:
  cloud:
    nacos:
      # 【注册中心】相关配置
      discovery:
        # 命名空间(大分组)默认为:public
        namespace: dev402
        # 分组名称,默认为【DEFAULT_GROUP】
        group: xuecheng-plus-project
        # 注册中心地址
        server-addr: localhost:8848

Nacos作为配置中心:

Maven依赖:跟上面注册中心的几乎一样只有最后一个单词不同;

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

在环境下新增配置:在上述通过namespace、group找到具体的环境和具体的项目后,会通过dataid找到具体的配置文件,这个dataid一共由三部分组成:

例:content-service-dev.yaml配置文件 由(content-service)-(dev). (yaml)三部分组成:

content-service:第一部分,它是在application.yaml中配置的应用名,即spring.application.name的值。

dev:第二部分,它是环境名,通过spring.profiles.active指定,

Yaml: 第三部分,它是配置文件 的后缀,目前nacos支持properties、yaml等格式类

本地配置文件中:

spring:
  application:
    name: content-service
  cloud:
    nacos:
      server-addr: 192.168.101.65:8848
      discovery:
        namespace: dev
        group: xuecheng-plus-project
      config:
        namespace: dev
        group: xuecheng-plus-project
        file-extension: yaml
        refresh-enabled: true

#profiles默认为dev
  profiles:
    active: dev

然后比如数据库连接这种配置就可以写在nacos中:

openfeign使用nacos做注册中心 nacos作为注册中心_配置文件_04

如果某一个微服务引用了其余微服务的配置,需要在配置文件中引入:根据dataid寻找配置

extension-configs:
          - data-id: content-service-${spring.profiles.active}.yaml
            group: xuecheng-plus-project
            refresh: true

openfeign使用nacos做注册中心 nacos作为注册中心_java_05

公共配置:swagger+logging

openfeign使用nacos做注册中心 nacos作为注册中心_java_06


openfeign使用nacos做注册中心 nacos作为注册中心_配置文件_07


openfeign使用nacos做注册中心 nacos作为注册中心_配置文件_08

在yml中引用:

openfeign使用nacos做注册中心 nacos作为注册中心_spring_09

总结:

1:通过环境名字找到服务;

openfeign使用nacos做注册中心 nacos作为注册中心_配置文件_10


openfeign使用nacos做注册中心 nacos作为注册中心_命名空间_11


openfeign使用nacos做注册中心 nacos作为注册中心_配置文件_12


openfeign使用nacos做注册中心 nacos作为注册中心_命名空间_13