Spring Cloud 系列之 Nacos 配置中心

目录

  • 一、Nacos简介
  • 二、Nacos安装及配置
    • 1、环境准备
    • 2、安装包下载
      • (1)源码方式
      • (2)发行包方式
    • 3、启动Nacos服务
    • 4、Nacos数据库配置
      • (1)MySQL数据源
      • (2)初始化 MySQL 数据库
      • (3)application.properties 配置
    • 5、Nacos配置入门
      • (1)发布配置


Nacos在项目中的使用:SpringBoot 集成 Nacos


一、Nacos简介

NacosAlibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理。英文全称 Dynamic Naming and Configuration Service,Na 为 Naming/NameServer 即注册中心,co 为 Configuration 即配置中心,Service 是指该注册/配置中心都是以服务为核心。服务(Service)是 Nacos 世界的一等公民。

官网是这样说的:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

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

Nacos 可以更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构的服务基础设施。

使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。

Nacos 官网:https://nacos.io/zh-cn/

Github:https://github.com/alibaba/nacos


二、Nacos安装及配置

1、环境准备

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行 Nacos,还需要为此配置 Maven 环境,请确保是在以下版本环境中安装使用:

  • JDK 1.8+

  • Maven 3.2.x+


2、安装包下载

可以通过源码和发行包两种方式来获取 Nacos。

(1)源码方式

从 Github 上下载源码方式。

git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  
ls -al distribution/target/// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin

(2)发行包方式

您可以从 https://github.com/alibaba/nacos/releases 下载最新稳定版本的 nacos-server 包。


3、启动Nacos服务

Nacos 的解压目录 nacos/bin 目录下启动。

启动命令(standalone 代表着单机模式运行,非集群模式):

# Linux / Mac
sh startup.sh -m standalone

访问地址: http://localhost:8848/nacos/

默认用户名/密码是 nacos/nacos

弹出如下界面说明启动成功。

在这里插入图片描述
在这里插入图片描述
执行如下命令可关闭 Nacos 服务:

sh shutdown.sh

4、Nacos数据库配置

Nacos0.7 版本之前,默认使用的是嵌入式数据库 Apache Derby 来存储数据(内嵌的数据库会随着 Nacos 一起启动,无需额外安装);0.7 版本及以后,增加了对 MySQL 数据源的支持。


(1)MySQL数据源

环境要求:MySQL 5.6.5+(生产使用建议至少主备模式,或者采用高可用数据库);


(2)初始化 MySQL 数据库

创建数据库 nacos_config

SQL源文件地址:https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql ,或者在 nacos-server 解压目录 conf 下,找到 nacos-mysql.sql 文件,运行该文件,结果如下:

在这里插入图片描述

(3)application.properties 配置

修改 nacos/conf/application.properties 文件的以下内容。
在这里插入图片描述
最终修改结果如下:

#*************** Config Module Related Configurations ***************#
### If user MySQL as datasource:
# 指定数据源为 MySQL
spring.datasource.platform=mysql### Count of DB:
# 数据库实例数量
db.num=1# 数据库连接信息,如果是 MySQL 8.0+ 版本需要添加 serverTimezone=Asia/Shanghai
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=Asia/Shanghai
db.user=root
db.password=1234

注:如果你和我一样使用的是 MySQL 8.0+ 版本,那么启动 Nacos 时肯定会报错。莫慌,在 Nacos 安装目录下新建 plugins/mysql 文件夹,并放入 8.0+ 版本的 mysql-connector-java-8.0.xx.jar,重启 Nacos 即可,启动时会提示更换了 MySQLdriver-class 类。


5、Nacos配置入门

(1)发布配置

选择 配置管理配置列表 页面,点击最右侧 + 按钮新建配置。
在这里插入图片描述
Nacos Config 使用 Data IDGroup 来确定配置。

下图显示 Data Idapm-mobile-android.properties,组使用默认组,并添加 properties 格式的配置信息。
在这里插入图片描述
这里我们创建了 properties 格式的配置,你也可以创建 yaml 格式的配置。

填写好之后点击 发布 按钮即可创建完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++primer第八章 IO库 8.2 文件输入输出

8.2文件输入输出 头文件fstream定义了三个类型来支持文件IO:ifstream从一个给定文件读取数据,ofstream向一个给定文件写入数据,以及fstream可以读写给定文件。在17.5.3节中(第676页)我们将介绍如何对同一个文件流既读…

codeforces 112A-C语言解题报告

112A题目网址 题目解析 1.输入两行字符串,不区分大小写地使用字典序去比较大小 A<B -1 A>B 1 AB 0 举例: 输入 abcdefg AbCdEfF 输出 1 2.字典序:在遇到第一个不同的字符时,比较的大小,就是字符串的大小 列举法: 1.列出所有情况 1)a[i]是大写,b[i]是小写 a[i]转换为小…

SpringBoot 集成 Nacos

目录一、前言二、Nacos集成1、引入Nacos依赖2、设置Nacos配置3、加载Nacos配置中心配置项4、Nacos集成验证5、Nacos配置中心配置项动态生效Nacos安装详见&#xff1a;Spring Cloud 系列之 Nacos 配置中心 一、前言 上一篇已经讲解了怎样安装安装、启动、配置 Nacos&#xff0c…

C++primer第八章 IO库 8.3string流

8.3string流 sstream头文件定义了三个类型来支持内存IO,这些类型可以向string写入数据,从string读取数据&#xff0c;就像string是一个IO流一样。istringstream从string读取数据&#xff0c;ostringstream向string写入数据&#xff0c;而头文件stringstream既可从string读数据…

英语口语海报演讲--东软

海报 海报上的内容 Nuclear waste water 1.Damage the devastating impact of nuclear radiation on the world 2.Marine life genetically mutated or dead 3.water resources polluted water resources 4.the future of humanity genetic damage/food and environment destr…

Java中 List、Set、Map遍历方式以及性能比较

目录一、简介二、遍历方式1、ArrayList遍历方式&#xff08;1&#xff09;for循环遍历&#xff08;2&#xff09;foreach循环遍历&#xff08;3&#xff09;Iterator迭代器遍历2、LinkedList遍历方式&#xff08;1&#xff09;for循环遍历&#xff08;2&#xff09;foreach循环…

codeforces 263A-C语言解题报告

263A题目网址 题目解析 1.输入5*5的矩阵(下标从到5),包含24个0和一个1,问如何移动最小的次数(i相邻行或列)可以让1位于3行3列 举例: 输入: 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 输出: 3 注意点 1.因为数组是从0开始的,所以减2就行 row-2col-2 2.使用整型二维…

一个DEMO让你彻底理解线程池

目录一、简介二、线程池任务场景场景一&#xff1a;提交5个任务&#xff0c;执行总耗时500ms场景二&#xff1a;提交10个任务&#xff0c;执行总耗时500ms场景三&#xff1a;提交11个任务&#xff0c;执行总耗时1000ms场景四&#xff1a;提交20个任务&#xff0c;执行总耗时100…

C++primer第九章 顺序容器 9.1 顺序容器概述 9.2容器库概览

一个容器就是一些特定类型对象的集合。顺序容器(sequentialcontainer)为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值&#xff0c;而是与元素加入容器时的位置相对应。与之相对的&#xff0c;我们将在第11章介绍的有序和无序关联容器&#xff0c;则根据…

SpringBoot 启动报错:Failed to configure a DataSource: ‘url‘ attribute is not specified and no emb

目录一、报错日志二、原因分析三、问题排查四、解决方案方案一&#xff1a;如果项目不需要数据库相关信息就排除此类的autoconfig方案二&#xff1a;配置文件添加数据库链接信息方案三&#xff1a;配置pom.xml中yml或者properties扫描一、报错日志 **************************…

codeforces 339A-C语言解题报告

339A题目网址 题目解析 1.输入如321的式子,升序排序(从小到大)成123 举例: 输入: 11313 输出: 11133 2.对字符串进行排序采取拍冒泡排序算法 char c0; for(i0;i<strlen(s)-1;i) {for(j0;j<strlen(s)-1;j){if(s[j]>s[j1]){cs[j];s[j]s[j1];s[j1]c;}} }代码 #includ…

C++primer第九章 顺序容器 9.3 顺序容器操作

9.3顺序容器操作 顺序容器和关联容器的不同之处在于两者组织元素的方式。这些不同之处直接关系到了元素如何存储、访问、添加以及删除。上一节介绍了所有容器都支持的操作&#xff08;罗列于表9.2&#xff08;第295页&#xff09;&#xff09;。本章剩余部分将介绍顺序容器所特…

SpringBoot 集成Nacos报错(一)

目录配置信息报错信息解决方案配置信息 <project><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.2</version><relativePath/></parent>…

C++primer第九章 顺序容器 9.4 vector对象是如何增长的

为了支持快速随机访问&#xff0c;vector将元素连续存储&#xff0c;每个元素紧挨着前一个元素存储。通常情况下&#xff0c;我们不必关心一个标准库类型是如何实现的&#xff0c;而只需关心它如何使用。然而&#xff0c;对于vector和string,其部分实现渗透到了接口中。假定容器…

codeforces 281A-C语言解题报告

281A题目网址 题目解析 1.字符串首字母大写 代码 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main() {char s[1000]{\0};scanf("%s",s);if(s[0]>A&&s[0]<Z){printf("%s",s…

SpringBoot 配置文件bootstrap和application的区别

目录一、SpringBoot配置文件二、bootstrap和application区别三、bootstrap和application的应用场景一、SpringBoot配置文件 bootstrap&#xff08;.yml 或者 .properties&#xff09; application&#xff08;.yml 或者 .properties&#xff09; 二、bootstrap和application区…

C++primer第九章 顺序容器 9.5 额外的string操作

除了顺序容器共同的操作之外&#xff0c;string类型还提供了一些额外的操作。这些操作中 的大部分要么是提供string类和C 风格字符数组之间的相互转换,要么是增加了允许我们用下标代替迭代器的版本。标准库string类型定义了大量函数。幸运的是&#xff0c;这些函数使用了重复的…

Zookeeper Mac下安装操作

目录一、下载Zookeeper二、修改配置1、设置启动配置文件2、修改配置三、启动Zookeeper服务命令1、bin目录下执行&#xff08;1&#xff09;启动Zookeeper命令&#xff08;2&#xff09;查看Zookeeper状态命令&#xff08;3&#xff09;停止Zookeeper命令2、配置环境变量执行&am…

codeforces 266A-C语言解题报告

266A题目网址 题目解析 1.输入n(1–50)个石头个数,输入RGB的石头颜色,求问拿走最小的石头个数,让它们相邻的石头颜色不同 代码 #include<stdio.h> #include<stdlib.h> #include<string.h> int main() {int n,i,count0;char s[50]{\0};scanf("%d&quo…

2014年考研英语二作文PartB图表题

作文详细解析 题目 Write an essay based on the following chart, in which you should interpret the chart, and give your comments You should write about 150 words on the ANSWER SHEET.(15 points) 注意点 1.图表题在第一段描述图表信息时,一定要写清楚y轴变化…