前言

在开发过程中,我们通常会配置一些参数来实现某些功能,如:开启某些服务,邮箱通知,短信通知等;一般在这个时候,我们都是通过硬编码来实现、配置文件或数据库实现。

Nacos 配置管理

Nacos 是阿里巴巴的开源的项目,全称 Naming Configuration Service ,专注于服务发现和配置管理领域。

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

Nacos 生态图

百度找了一张生态图以及简介

如: Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如
Spring Cloud
Apache Dubbo and Dubbo Mesh TODO
Kubernetes and CNCF TODO。
使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。

特性一览

易于使用
动态配置管理、服务发现和动态的一站式解决方案
20多种开箱即用的以服务为中心的架构特性
基本符合生产要求的轻量级易用控制台

更适应云架构

无缝支持Kubernetes和Spring Cloud
在主流公共云上更容易部署和运行(例如阿里云和AWS)
多租户和多环境支持

生产等级

脱胎于历经阿里巴巴10年生产验证的内部产品
支持具有数百万服务的大规模场景
具备企业级SLA的开源产品

丰富的应用场景

支持限流、大促销预案和异地多活
直接支持或稍作扩展即可支持大量有用的互联网应用场景
流量调度和服务治理

一:集成springboot+2.x

新建一个springboot项目
首先执行标题《首先需要安装naco服务端》

1.1 pom.xml

<properties><java.version>1.8</java.version><knife4j.version>2.0.8</knife4j.version><spring-boot.version>2.2.6.RELEASE</spring-boot.version><nacos-config.version>0.2.1</nacos-config.version>
</properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>${knife4j.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId></dependency><dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>${nacos-config.version}</version></dependency>
</dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><executions><execution><goals><goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中--></goals></execution></executions></plugin></plugins>
</build>

1.2 properties

# 应用名称
spring.application.name=peng-nacos
# 应用服务 WEB 访问端口
server.port=8080
# 安全机制,建议走内网、配置防火墙
nacos.config.server-addr=127.0.0.1:8848

1.3 application

/*** dataId 可以根据自己的项目自定义* autoRefreshed 是一个布尔值, Nacos 就会把最新的配置推送到该应用的所有机器上,简单而高效。*/
@SpringBootApplication
@NacosPropertySource(dataId = "peng.nacos", autoRefreshed = true)
public class PengNacosApplication {private static final Logger logger = LoggerFactory.getLogger(PengNacosApplication.class);public static void main(String[] args) {SpringApplication.run(PengNacosApplication.class, args);logger.info("Start...");}}

1.4 nacosConfigController

/*** @author Gaci* @className HomeController* @description 类描述* @date 2021/5/6 18:01**/
@Controller
@RequestMapping(value = "config")
public class NacosConfigController {@NacosValue(value = "${useLocalCache:false}", autoRefreshed = true)private boolean useLocalCache;@GetMapping(value = "/getUseLocal")@ResponseBodypublic boolean getUseLocal() {return useLocalCache;}
}

1.5 启动项目

1.6 访问nacos后台服务端

默认地址:http://localhost:8848/nacos

用户名:nacos
密码:nacos

1.6.1 新建配置



注意:dataId 一定要与系统配置保持一致

配置内容为键值对的方式。


配置完成后,我们访问尝试下效果


现在我们改成false试试

二: 数据库实例化

Nacos Server 默认使用的是内嵌的数据库,生产环境建议修改使用 mysql 数据库存储配置信息。
在配置文件application.properties添加配置:
文件在conf文件夹下,记住,当前修改的是nacos的配置文件,不是项目的配置文件

我们可以先打开application.properties.example喵喵

上述就是配置数据库的信息
现在我们需要做的添加数据库配置信息,我就不打开注释了,直接复制修改值

注意:导入配置文件的时候会提示:
Invalid default value for ‘gmt_create’
仔细查看该列有这个属性:DEFAULT CURRENT_TIMESTAMP 插入数据默认当前时间
测试平台是5.7的版本,如果自己使用的是5.7版本以下的就会出现该错误。使用current_timestamp作为datetime的默认值,只有在5.6之后的版本才支持。

spring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacos

注意:db.user.0和db.password.0是填写你数据库的账号和密码
创建数据库,在Nacos Server conf文件夹下,找到nacos-mysql.sql文件,导入创建的数据库即可。


现在我们重启下Nacos服务端看看

我们再打开Nacos服务端,发现之前配置的不见了,说明我们配置成功了

Nacos默认账号密码为:nacos,修改密码需要使用引入:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency>


我们用代码进行加密


我们把这个输出的信息替换表的

我们再登出,重新登录看看,用原来的密码登录,发现提示错误

我们再用我们修改后的密码试试

目前的配置就到这了,其它功能后续加上

三:首先需要安装Nacos服务端

地址:https://nacos.io/zh-cn/docs/quick-start.html
这里只做记录,由于本人为了方便,用的是windows调试。


windows方式:



下载完后,解压之后
进入bin目录,然后打开cmd界面

执行这段命令
服务端已启动完成

Nacos(第一篇)_Springboot2.x+Nacos配置管理中心相关推荐

  1. Nacos配置管理中心

    一.Nacos配置管理 也就是说Nacos不仅能充当注册中心,还能用来配置成配置中心. 1.统一配置管理 代码演示如下所示: 现在我们知道,Nacos配置管理中心已经有管理好的配置文件了(userse ...

  2. springboot nacos配置中心_SpringBoot开发案例之Nacos配置管理中心

    前言 在开发过程中,通常我们会配置一些参数来实现某些功能,比如是否开启某项服务,告警邮件配置等等.一般会通过硬编码.配置文件或者数据库的形式实现. 那么问题来了,如何更加优雅的实现?欢迎来到 Naco ...

  3. nacos配置中心使用_SpringBoot开发案例Nacos配置管理中心

    前言 在开发过程中,通常我们会配置一些参数来实现某些功能,比如是否开启某项服务,告警邮件配置等等.一般会通过硬编码.配置文件或者数据库的形式实现. 那么问题来了,如何更加优雅的实现?欢迎来到 Naco ...

  4. 从Nacos客户端视角来分析一下配置中心实现原理

    目录 一 动态配置 1. 环境准备 2.新建配置 3.导入配置 4.配置客户端 5. 修改配置信息 6.小结 二  配置中心原理(推还是拉) 1.实例化 ConfigService 2.添加 List ...

  5. nacos 配置_SpringCloud Alibaba之Nacos配置中心

    享学课堂特邀作者:老顾 转载请声明出处! 前言 前几篇介绍了Nacos相关知识,又介绍了nacos作为注册中心:今天老顾就分享一些Nacos作为配置中心,如何使用? 新建配置 打开nacos控制台,操 ...

  6. gateway nacos注册服务_使用Nacos作为微服务注册中心和配置中心

    使用Nacos作为微服务注册中心和配置中心 一.技术简介 Nacos是阿里系开发的兼容Spring Cloud的服务注册中心组件,是微服务国产化的先驱.Nacos作为与Eureka的对比,不仅具有Eu ...

  7. Nacos配置中心持久化到MySQL数据库(创建MySQL数据库、Nacos配置MySQL数据库连接、Nacos添加配置 )

    1 创建MySQL数据库 第一步,创建数据库名为nacos_config的数据库. 第二步,在nacos/conf目录下找到nacos-mysql.sql文件. 第三步,执行nacos-mysql.s ...

  8. vue+uni-app商城实战 | 第一篇:从0到1快捷开发一个商城微信小程序,无缝接入OAuth2实现一键授权登录

    一. 前言 本篇通过实战来讲述如何使用uni-app快速进行商城微信小程序的开发以及小程序如何接入后台Spring Cloud微服务. 有来商城 youlai-mall 项目是一套全栈商城系统,技术栈 ...

  9. 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

    最新Finchley版本请访问: https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f1-eureka/ 或者 http://blog.csd ...

最新文章

  1. 北京发自动驾驶车辆考试大纲 难度堪比普通人考驾照
  2. 被文字凝聚的民族大爱
  3. python与Excel的完美结合
  4. 你能否列出与 Elasticsearch 有关的主要可用字段数据类型?
  5. 出现问题Debug Assertion Failed!
  6. python有float行吗_python – 有什么方法可以在将pandas系列从str转换为float时跳过不可转换的行?...
  7. 点云算法在条码识别任务中的应用
  8. 51单片机C语言延时函数
  9. 杨永信和他荒唐至极的 “网瘾电击疗法”
  10. office2019 图目录_赶快收藏!这款强大的PPT通路图插件ScienceSlides 2016来了!
  11. Re32:读论文 Summarizing Legal Regulatory Documents using Transformers
  12. itext转html为pdf 锚点,flying saucer html转pdf经验分享
  13. 仿淘宝的详情页图片切换
  14. 判定被7整除的简易方法
  15. iphone html5 浏览器缓存文件,html5中localStorage 在苹果设备上总结
  16. js 复制微信号码 并唤醒微信
  17. amd r7 2700u linux,满血双通道R7 2700U?AMD锐龙APU测试
  18. windows操作系统死机代码及其含义解剖
  19. 物联网发展面临哪些问题
  20. PF_RING 6.0.2发布

热门文章

  1. vmware虚拟机卸载不干净解决办法
  2. SuperMap工作空间文件sxw的文件格式说明
  3. web元件库、axure元件库、元件库、web组件、控件、表单、框架、数据表单、导航栏、边框、图标、列表、日期时间选择器、评分组件、穿梭框、输入框、步骤条、图表组件、数据可视化、后台模板、时间轴
  4. python读写大文件excel_python 读写 Excel文件
  5. 如果用计算机计算带有大括弧的数学题,小学一年级数学上册图画大括号应用题doc...
  6. 【重磅干货】信息化方案合集下载!
  7. html 字号和像素的关系,一文搞懂CSS中的字体单位大小(px,em,rem...)
  8. 网络特工 v2.2.4.6 是什么
  9. Redis(学习笔记)
  10. 网页在线视频只有声音没有图像