场景
什么是Nacos
Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发
现、服务配置、服务元数据及流且管理。
Nacos帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos是构建以“服务’‘为中心的现代应用架构(例
如微服务范式、云原生范式)的服务基础设施。
Nacos全景图
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
Nacos官方文档:
https://nacos.io/zh-cn/docs/quick-start.html
Nacos下载地址:
https://github.com/alibaba/nacos/releases
选择指定的稳定版本进行下载,这里是Windows,所以选择zip包进行下载
下载完成在解压到磁盘某目录
Nacos持久化
防止 Nacos 宕机或重启后数据丢失,Nacos 支持将数据统一持久化到数据库 Mysql(在不配置Nacos持久化到Mysql时,
默认 Nacos 内置了一个嵌入式数据库derby,将一些数据保存到了内置的数据库上,多台 Nacos 就会出现多个内置数据库)。
连接要进行Nacos持久化的Mysql数据库,新建数据库nacos_config
为什么叫nacos_config这个数据库名,因为上面解压之后的Nacos中的conf目录下的nacos-mysql.sql文件中
其默认的数据库名就是nacos_config
新建完数据库之后在此数据库中执行上面的nacos-mysql.sql文件,实现数据库的初始化。
然后再回到Nacos解压目录下的conf目录下的application.properties
将上面这段打开持久化Mysql的代码去掉注释,并将连接到的数据库的url和用户名密码改为自己的。
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.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=root
db.password=123456
启动Nacos
然后再回到上面解压目录后的bin目录下
这里的startup.cmd和shtudown.cmd就是在Windows下的启动好关闭命令,但是如果直接双击的话会报错。
这是因为这里Nacos没有配置集群模式,而是使用的单机模式,所以编辑startup.cmd,
将MODE修改为standalone
默认MODE的值是”cluster”
所以在走下面的逻辑时会走集群模式的逻辑
if %MODE% == "standalone" (
echo "nacos is starting with standalone"
set"NACOS_OPTS=-Dnacos.standalone=true"
set "NACOS_JVM_OPTS=-Xms512m -Xmx512m -Xmn256m"
)
rem if nacos startup mode is cluster
if %MODE% == "cluster" (
echo "nacos is starting with cluster"
if %EMBEDDED_STORAGE% == "embedded" (
set"NACOS_OPTS=-DembeddedStorage=true"
)
set "NACOS_JVM_OPTS=-server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%BASE_DIR%\logs\java_heapdump.hprof -XX:-UseLargePages"
)
编辑之后,双击startup.cmd
然后打开浏览器访问
默认用户名密码都是nacos
登录成功后