SpringCloud安装Nacos完成配置中心

 更新时间:2022年07月12日 10:18:15   作者:有头发的程序猿!  
如果不满足上篇文章的eureka注册中心,那么本文记录的Nacos是不二之选。本文主要记录Springboot基于Nacos实现配置中心

eureka注册中心

1. Nacos介绍

官网说明:Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

2. docker安装Nacos

基于liunx centos7,镜像nacos/nacos-server:v2.1.0

2.1 docker-compose.yaml

version: '3.7'
services:
  nacos01:
    image: nacos/nacos-server:v2.1.0
    container_name: nacos01
#    restart: always
    ports:
    - "8848:8848"
    environment:
    - TZ=Asia/Shanghai
    - MODE=standalone
    - JVM_XMS=128m
    - JVM_XMX=512M
    networks:
    - my-net
networks:
  #新增的网络 内部服务名调用
  my-net:
    external: true

如果需要配置本地数据库的可以参考这篇文章

2.2 启动后访问控制台

访问http://192.168.0.221:8848/nacos/,账号密码都是nacos

添加一个orderservice-dev.yaml配置,内容如下。

接下来在springboot中集成Nacos

3.Springboot集成Nacos

3.1 pom依赖

父依赖

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.6.8</version>
</parent>

springcloud版本管理包

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-dependencies</artifactId>
			<version>2021.0.3</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

nacos配置依赖

<!--引入cloud config-->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<!--引入nacos config依赖-->
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
	<version>2021.0.1.0</version>
</dependency>
<!--cloud2021.x版本后 不在支持bootstrap No spring.config.import set-->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

一定要注意依赖,不然很多问题

3.2 yaml配置

特别注意加载配置文件的顺序 bootstrap -> application,所以不要在application.yml写任何配置,不存在最好。新建一个bootstrap.yml

spring:
  application:
    #这个名词需要和nacos配置的一致
    name: orderservice
  profiles:
    #指定环境
    active: dev
  cloud:
    #不使用默认的config 使用nacos
    config:
      enabled: false
    nacos:
      config:
        server-addr: 192.168.0.221:8848
        file-extension: yaml

接下来从启动日志看下读取配置的规则:

Ignore the empty nacos configuration and get it based on dataId[orderservice] & group[DEFAULT_GROUP]
Ignore the empty nacos configuration and get it based on dataId[orderservice.yaml] & group[DEFAULT_GROUP]
Located property source: [BootstrapPropertySource {name='bootstrapProperties-orderservice-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-orderservice.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-orderservice,DEFAULT_GROUP'}]

  • 服务名+配置的文件后缀(默认properties后缀)最优先,orderservice.${file-extension}
  • 根据环境配置,orderservice-${spring.profiles.active}.${file-extension}

3.3 测试配置动态化

//开启配置动态刷新
@RefreshScope
@Slf4j
@RestController
public class OrderController {
	@Value("${hello.world}")
    private String hello;
    @GetMapping("/test")
    public String test() throws Exception {
        log.info("config -- {}", hello);
        return hello;
    }
}

3.4 测试日志

c.e.order.controller.OrderController     : config -- 1345671234567887654
//修改为jack再次访问
c.e.order.controller.OrderController     : config -- hello my name is jack

到此这篇关于SpringCloud安装Nacos完成配置中心的文章就介绍到这了,更多相关SpringCloud Nacos配置中心内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java数据结构与算法数组模拟队列示例详解

    java数据结构与算法数组模拟队列示例详解

    这篇文章主要为大家介绍了java数据结构与算法数组模拟队列示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • mybatisplus 的SQL拦截器实现关联查询功能

    mybatisplus 的SQL拦截器实现关联查询功能

    大家都知道mybatisplus不支持关联查询,后来学习研究发现mybatisplus的SQL拦截器可以实现这一操作,下面小编给大家分享我的demo实现基本的关联查询功能没有问题,对mybatisplus关联查询相关知识感兴趣的朋友一起看看吧
    2021-06-06
  • java实现识别二维码图片功能

    java实现识别二维码图片功能

    这篇文章主要为大家详细介绍了java实现识别二维码图片功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • java 父类子类有同名方法时如何调用的实现

    java 父类子类有同名方法时如何调用的实现

    这篇文章主要介绍了java 父类子类有同名方法时如何调用的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Java正则表达式之全量匹配和部分匹配

    Java正则表达式之全量匹配和部分匹配

    正则表达式异常强大,一直理解不深,用的也不深,这次项目中尝试,体会到了它的强大之处,这篇文章主要给大家介绍了关于Java正则表达式之全量匹配和部分匹配的相关资料,需要的朋友可以参考下
    2023-06-06
  • 基于Spring Cache实现Caffeine+Redis二级缓存

    基于Spring Cache实现Caffeine+Redis二级缓存

    本文主要介绍了基于Spring Cache实现Caffeine+Redis二级缓存,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Java HashMap的工作原理

    Java HashMap的工作原理

    这篇文章主要介绍了Java HashMap的工作原理的相关资料,需要的朋友可以参考下
    2016-03-03
  • Java分析Lambda表达式Stream流合并分组内对象数据合并

    Java分析Lambda表达式Stream流合并分组内对象数据合并

    Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库既有的弊端,Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑
    2022-12-12
  • Java深入浅出理解快速排序以及优化方式

    Java深入浅出理解快速排序以及优化方式

    快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影
    2021-11-11
  • elasticsearch节点的transport请求发送处理分析

    elasticsearch节点的transport请求发送处理分析

    这篇文章主要为大家介绍了elasticsearch节点的transport请求发送处理分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04

最新评论