Spring Cloud Alibaba Nacos学习笔记)

Nacos提供服务注册与发现,也是配置中心。

官方文档

一、环境准备

  1. 官网下载nacos
    在这里插入图片描述
    点进去后,找到最下面
    在这里插入图片描述

  2. 解压后进入bin目录;

  3. 启动nacos(默认使用外置数据源集群启动)

sh startup.sh

单机启动nacos

sh startup.sh -m standalone

集群模式启动(使用内置数据源)

sh startup.sh -p embedded
  1. web页面
    可以通过查看启动日志得到web页面地址。linux启动日志文件在nacos/logs/start.out
    在这里插入图片描述
    注:远程访问linux时需要开放端口或关闭防火墙

  2. 登录web页面http://192.168.10.128:8848/nacos/index.html,默认账号密码都是nacos

二、注册中心

官方文档

  1. 引入依赖
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
  1. 配置文件
server:
  port: 80

spring:
  application:
    name: service-consumer
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.10.128:8848
  1. 启动类添加注解开启nacos
@EnableDiscoveryClient
  1. 查看

在这里插入图片描述

三、配置中心

官方文档

1、基础配置

  1. 引入依赖
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
  1. 配置文件bootstrap添加配置
spring:
  cloud:
    nacos:
      config:
        server-addr: 192.168.10.128:8848
        file-extension: yaml  # 指定配置文件格式
  1. 启动类添加注解开启nacos
@EnableDiscoveryClient
  1. 在nacos创建配置文件service-consumer.yaml(服务名.文件格式)
    在这里插入图片描述
  2. 如果在nacos创建的配置文件不是以服务名为前缀,则需要特别配置指明
spring:
  cloud:
    nacos:
      config:
        prefix: nacos-config  # 配置文件名称

注:文件格式不能写yml

2、动态刷新

在使用配置文件属性的类上加上注解

@RefreshScope

只需要加上注解,不用刷新服务。

3、Data ID

可以通过配置Data ID达到切换环境的效果。
只需要修改spring.profiles.active的配置。

  1. 在nacos创建配置文件service-consumer-dev.yaml(服务名-环境.文件格式);
    在这里插入图片描述

  2. 在项目配置文件添加环境配置

spring:
  profiles:
    active: dev

4、group

可以通过配置group达到切换环境的效果。

可对配置文件进行分组,默认使用的是 DEFAULT_GROUP,不同组可以存在Data Id相同的文件。自定义分组后需要在bootrap配置文件添加配置

spring:
  cloud:
    nacos:
      config:
        group: DEVELOP_GROUP

当不同环境为不同的分组时,可以通过切换group配置,来达到切换环境的作用。

5、namespace

用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等
所以,不同命名空间之间的服务不能相互效用。
Namespace 默认public

  1. 创建
    在nacos创建
    在这里插入图片描述
    在这里插入图片描述
    id不填会自动根据UUID生成
    2.在bootstrap文件中配置
spring:
  cloud:
    nacos:
      config:
        namespace: `b3404bc0-d7dc-4855-b519-570ed34b62d7

6、关闭配置中心

默认开启,可配置关闭

spring:
  cloud:
    nacos:
      config:
        enabled: false

四、持久化

官方文档

nacos内置数据库为嵌入式数据库Derby,可切换为外置数据库mysql(目前只支持mysql)。

  1. 安装数据库MySQL,版本要求:5.6.5+;
  2. 创建并切换数据库:
CREATE DATABASE IF NOT EXISTS nacos_config;
use nacos_config;
  1. 执行数据库初始化脚本:/nacos/conf/nacos-mysql.sql;
source nacos-mysql.sql;
  1. 修改配置文件:/nacos/conf/application.properties,配置数据源信息
    在这里插入图片描述
    去掉注释并修改为自己数据库的IP以及用户名密码等信息。

  2. 重启nacos。

五、集群

官方文档

  1. 环境准备
    jdk1.8+、maven3.2.x+
  2. 配置集群配置文件
    修改或添加/nacos/conf/cluster.conf,添加nacos节点的IP和port;
    在这里插入图片描述
    IP通过 hostname -i 命令获取
  3. 切换数据源为mysql
  4. 启动服务器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值