Nacos的搭建和使用——SpringCloud Alibaba

1. 概要说明

在使用Nacos之前,请在你的虚拟机中下载好Nacos,再进行连接本机使用

port:8848

本机访问地址:http://{虚拟机ip}:8848/nacos/

访问账号密码:nacos/nacos

2. Nacos的作用

2.1 服务发现中心

微服务将自身注册至Nacos,从Nacos获取微服务列表。

下图为注册的微服务列表

在这里插入图片描述

2.2 配置中心

微服务众多,它们的配置信息也非常复杂,为了提供系统的可维护性,微服务的配置信息统一在Nacos配置。

下图为配置中心的配置列表

在这里插入图片描述

3. Nacos的使用

3.1 服务注册中心

在搭建Nacos服务发现中心之前需要搞清楚两个概念:namespace和group

namespace:用于区分环境、比如:开发环境、测试环境、生产环境。
group:用于区分项目,若是同一个微服务项目就用用一个group名称

3.1.1 创建命名空间

登录成功之后,首先创建一个命名空间

在这里插入图片描述
在这里插入图片描述

如果使用dev命名空间,在下边的配置中对namespace配置为dev

3.1.2 进行服务注册

(1)在父依赖中添加SpringCloud alibaba依赖

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

(2)然后在相关模块中配置服务注册依赖

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

(3)在相关模块的配置文件中进行配置Nacos的地址以及模块的微服务注册信息

#微服务配置
spring:
  application:
    name: 模块名
  cloud:
    nacos:
      server-addr: IP地址:8848
      discovery:
        namespace: dev   //命名空间
        group: project    //模块项目名称或所属项目名称

(4)重启服务,观察服务注册列表
在这里插入图片描述

3.2 配置中心

3.2.1 配置概要

目的就是通过Nacos去管理项目的所有配置。

先将项目中的配置文件分分类:
(1)每个项目特有的配置

是指该配置只在有些项目中需要配置,或者该配置在每个项目中配置的值不同。比如:spring.application.name每个项目都需要配置但值不一样,以及有些项目需要连接数据库而有些项目不需要,有些项目需要配置消息队列而有些项目不需要。

spring:
  application:
    name: content-api  #1-1

(2)项目所公用的配置

指在若干项目中配置内容相同的配置,比如说,logging日志swagger接口集成服务

##日志文件配置路径
logging:
  config: classpath:log4j2-dev.xml

#swagger-ui.html
swagger:
  title: "系统"
  description: "相关信息进行管理"
  base-package: com.xuecheng.content
  enabled: true
  version: 1.0.0

3.2.1 配置三要素

需要知道nacos如何去定位一个具体的配置文件,即:namespacegroupdataid

通过namespacegroup找到具体的环境和具体的项目。

通过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等格式类型,本项目选择yaml格式类型。

我们启动项目中传入spring.profiles.active的参数决定引用哪个环境的配置文件,例如:传入spring.profiles.active=dev表示使用dev环境的配置文件即content-service-dev.yaml

3.2.2 下列实例对content-service进行配置

点击添加配置
在这里插入图片描述

在这里插入图片描述
对于content-service,sevice层主要进行与数据库的交互,因此在Nacos配置中应放入数据库的配置信息
在这里插入图片描述
在本地项目配置文件中进行配置以及添加配置依赖

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

#1-1、#2-2、#3-3代表配置三要素,配置三要素一定配置在本地配置文件中,不然运行时,项目无法定位Nacos中的配置文件

#微服务配置      content-service-dev.yaml
spring:
  application:
    name: content-service  #1-1
  cloud:
    nacos:
      server-addr: 192.168.101.65:8848
      config:  #配置文件的相关配置
        namespace: dev402
        group: xuecheng-plus-project
        file-extension: yaml      #3-3
        refresh-enabled: true
  #环境名
  profiles:
    active: dev   #2-2

在微服务项目中,api模块会依赖service模块,因此,所以这里使用extension-configs扩展配置文件的方式引用service模块所用到的配置文件

spring:
  application:
    name: content-api
  cloud:
    nacos:
      server-addr: IP地址:8848
      discovery:
        namespace: dev
        group: xuecheng-plus-project
      config:
        namespace: dev
        group: xuecheng-plus-project
        file-extension: yaml
        refresh-enabled: true
        extension-configs:
          - data-id: content-service-${spring.profiles.active}.yaml
            group: xuecheng-plus-project
            refresh: true
  profiles:
    active: dev

记住,每向Nacos添加一个配置文件,最好重新运行一次本地项目!!!

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LD白哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值