Spring Cloud Alibaba Nacos_配置中心与服务发现(一)

一、Nacos 配置管理-内容介绍

1.1 什么是配置中心 
1.2 Nacos 简介 
1.3 Nacos 快速入门 
1.4 Nacos 配置管理基础应用 
1.5 Nacos 配置管理应用于分布式系统

二、Nacos 配置管理-什么是配置中心

2.1 什么是配置?

1)应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,
比如:数据库连接参数,启动参数等。

2)配置主要有以下特点:

-- 配置是独立于程序的只读变量。
-- 配置伴随应用的整个生命周期。
-- 配置可以有多种加载方式。
-- 配置需要治理。

2.2 什么是配置中心?

在微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,
配置文件也必须跟着迁移(分割),这样配置就分散了,不仅如此,分散中还包含着冗余。

配置中心将配置从各应用中剥离出来,对配置进行统一管理,应用自身不需要自己去管理配置。

三、Nacos 配置管理-Nacos 简介

3.1 目前市面上用的比较多的配置中心有:

Spring Cloud Config, Apollo, 阿里的 Nacos, Disconf(不再维护)

3.2 Nacos 简介

1)Nacos 是阿里开发的开源产品,目前性能最好,
它是针对微服务架构中的配置管理和服务发现、服务治理的综合型解决方案。

官网地址:https://nacos.io 

2)Nacos 特性:

服务发现与服务健康检查。
动态配置管理。
动态 DNS 服务。
服务和元数据管理。

四、Nacos 配置管理-安装 Nacos Server

1、 Nacos 预备环境准备:

Nacos 依赖 java 环境来运行,还需要配置 Maven 环境。
	
	64 bit OS, 支持 Linux/Unix/Mac/Windows,
	
	64 bit jdk1.8+
	
	Maven 3.2.x+

2、下载 Nacos 源码

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

3、下载 Nacos 编译后压缩包方式

下载地址:https:///alibaba/nacos/releases 
	nacos-server-1.1.3 版本。nacos 默认端口 8848

4、windows 启动方式:

压缩包解压缩后,
在 /bin 目录里打开 cmd 终端	cmd startup.cmd  
或者双击 startup.cmd 运行文件

nacos配置不使用mysql_nacos配置中心

5、nacos 启动成功,可通过浏览器访问 http://127.0.0.1:8848/nacos

登陆页面:账号默认:nacos   密码默认:nacos

nacos配置不使用mysql_spring cloud_02

6、openAPI 配置管理测试

启动 nacos 成功后,可通过 nacos 提供的 httpAPI 验证 nacos 服务运行是否正常。

7、下载 curl 命令行工具,进行测试 nacos 的 openAPI

https:///windows/ 
下载并解压   curl 8.6.0 for Windows

8、发布 nacos 配置

在 curl 解压的 bin 目录(有 curl.exe 执行文件)下打开 cmd 终端,输入命令:
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"

返回 true 表示成功。

nacos配置不使用mysql_spring cloud_03

9、远程获取 nacos 配置

在 curl 解压的 bin 目录(有 curl.exe 执行文件)下打开 cmd 终端,输入命令:
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

nacos配置不使用mysql_spring cloud_04

10、关闭 nacos 服务:

在 nacos/bin 目录下打开 cmd 终端,输入命令:  shutdown.cmd  
或者: nacos/bin 目录下,双击 shutdown.cmd 运行文件。

11、nacos 对外部 mysql 数据库的支持

单机模式时 nacos 默认使用嵌入式数据实现数据的存储,若想使用外部 mysql 存储 nacos 数据,
需要进行以下步骤:

1)安装 mysql 数据库,nacos-1.1.3  要求 mysql5.6.5+  , mysql8 以下。

2)初始化 mysql 数据库,新建数据库 nacos_config, 数据库初始化文件 
${nacoshome}/conf/nacos-mysql.sql 

在 nacos 服务的 conf 目录下,有一个 nacos-mysql.sql 文件。
即:..\nacos-server-1.1.3\nacos\conf\nacos-mysql.sql

打开 SQLyong 连接 mysql 数据库 
--> 右键 选中新建的数据库 nacos_config
--> 导入 
--> 执行 SQL 脚本 
--> 选择 ..\conf\nacos-mysql.sql 文件。 
--> 执行。

nacos配置不使用mysql_spring cloud_05

3)修改 ${nacoshome}/conf/application.properties 文件,增加支持 mysql 数据源配置,
目前 nacos 只支持 mysql ,添加 mysql 数据源的 url, 用户名,密码。

# nacos 对外部 mysql 数据库的支持,nacos-1.1.3 要求 mysql5.6.5+  , mysql8 以下	
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding-utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=******

修改完成,保存,重新启动 nacos 服务。


4)通过浏览器访问 http://127.0.0.1:8848/nacos 

发现 DataId 下面多了数据,就是 mysql 数据库配置。

Data Id 				Group 

nacos.cfg.dataId		test 

nacos-simple-demo.yaml 	DEFAULT_GROUP

nacos配置不使用mysql_spring cloud_06