springCloud Alibaba 环境搭建以及 Nacos

环境搭建

构建项目并引入依赖

<!--定义springcloud版本-->
<properties>
  <spring.cloud.alibaba.version>2.2.1.RELEASE</spring.cloud.alibaba.version>
</properties>

<!--全局引入springcloudalibaba下载依赖地址,并不会引入依赖-->
<dependencyManagement>
  <dependencies>
    <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>
  </dependencies>
</dependencyManagement>

Nacos

什么是Nacos Name Service & Configurations Services
  • https://nacos.io/zh-cn/index.html
  • Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
  • 总结:Nacos就是微服务架构中服务注册中心以及统一配置中心,用来替换原来的(eureka,consul)以及config组件

安装Nacos

0.准备环境
  • 1.64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
  • 2.64 bit JDK 1.8+;下载 & 配置。
  • 3.Maven 3.2.x+;下载 & 配置。
1.下载nacos [1.3.0版本]
  • https://github.com/alibaba/nacos/releases
    在这里插入图片描述
2.解压缩安装包到指定位置
  • bin 启动nacos服务的脚本目录
  • conf nacos的配置文件目录
  • target nacos的启动依赖存放目录
  • data nacos启动成功后保存数据的目录
3.启动安装服务
  • linux/unix/mac启动
    打开终端进入nacos的bin目录执行如下命令
    ./startup.sh -m standalone

  • windows启动
    在 cmd中
    执行 startup.cmd -m standalone 或者双击startup.cmd运行文件。
    在这里插入图片描述

4.访问nacos的web服务管理界面
  • http://localhost:8848/nacos/
  • 用户名 和 密码都是nacos
    在这里插入图片描述

开发服务注册到nacos

0.创建项目并引入依赖
<!--引入nacos client的依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
1.配置注册地址
server.port=8789 																												#指定当前服务端口
spring.application.name=nacosclient																			#指定服务名称
spring.cloud.nacos.server-addr=localhost:8848														#指定nacos服务地址
spring.cloud.nacos.discovery.server-addr=${spring.cloud.nacos.server-addr} #指定注册中心地址							
management.endpoints.web.exposure.include=*														  #暴露所有web端点
2.加入启动服务注册注解 [注意:][新版本之后这步可以省略不写]

在这里插入图片描述

3.查看nacos的服务列表

在这里插入图片描述

使用nacos作为配置中心

1.从nacos获取配置
1.创建项目并引入nacons配置中心依赖
<!--引入nacos client依赖-->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

<!--引入nacos config 依赖-->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.配置配置中心地址
spring.cloud.nacos.server-addr=localhost:8848								# 远程配置中心的地址
spring.cloud.nacos.config.group=DEFAULT_GROUP								# 读取配置的分组
spring.cloud.nacos.config.file-extension=properties					# 指定读取文件后缀
spring.application.name=config															# 指定读取文件的前缀
spring.profiles.active=prod																	# 指定读取文件的具体环境

在这里插入图片描述

3.在nacos中创建配置

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

4.编写控制器测试配置读取情况
@RestController
@Slf4j
public class HelloController {
    //注入配置
    @Value("${user.name}")
    private String username;
    @GetMapping("/hello/config")
    public String config(){
        log.info("用户名: [{}]",username);
        return username;
    }
}
5.启动项目方式测试配置读取

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

2. DataId
  • 用来读取远程配置中心的中具体配置文件其完整格式如下:

  • p r e f i x − {prefix}- prefix{spring.profile.active}.${file-extension}
    a. prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。

    b. spring.profile.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 p r e f i x . {prefix}. prefix.{file-extension}

    c. file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

    3.实现自动配置刷新

    1.自动刷新
  • 默认情况下nacos已经实现了自动配置刷新功能,如果需要刷新配置直接在控制器中加入@RefreshScope注解即可

@RestController
@Slf4j
@RefreshScope
public class HelloController {
    //注入配置
    @Value("${user.name}")
    private String username;
    @GetMapping("/hello/config")
    public String config(){
        log.info("用户名: [{}]",username);
        return username;
    }
}
4.命名空间
1.命名空间(namespace)
  • https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config
  • namespace命名空间是nacos针对于企业级开发设计用来针对于不同环境的区分,比如正在企业开发时有测试环境,生产环境,等其他环境,因此为了保证不同环境配置实现隔离,提出了namespace的概念,默认在nacos中存在一个public命名空间所有配置在没有指定命名空间时都在这个命名空间中获取配置,在实际开发时可以针对于不能环境创建不同的namespace空间。默认空间不能删除!
    在这里插入图片描述
2.创建其他命名空间
  • 每个命名空间都有一个唯一id,这个id是读取配置时指定空间的唯一标识
    在这里插入图片描述
3.在配置列表查看空间

在这里插入图片描述

4.在指定空间下载创建配置文件

在这里插入图片描述

5.项目中使用命名空间指定配置

在这里插入图片描述

6.测试配置

在这里插入图片描述

5.配置分组

1.配置分组(group)
  • 配置分组是对配置集进行分组,通过一个有意义的字符串(如 Buy 或 Trade )来表示,不同的配置分组下可以有相同的配置集(Data ID)。当您在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。配置分组的常见场景:可用于区分不同的项目或应用,例如:学生管理系统的配置集可以定义一个group为:STUDENT_GROUP。
    在这里插入图片描述
3.读取不同分组的配置

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值