看过上一篇文章的朋友已经对nacos有了一定的了解,属于理论部分,本篇文章主要是结合实践,让大家明白如何更好的使用nacos。
nacos架构文档说明文档:
https://nacos.io/zh-cn/docs/architecture.html
目前nacos服务端已经升级到2.0.3了,大家看作者拉下来的源码(源码会放入git中):
既然有了源码,那就可以根据各自需求进行定制化咯,比如:
作者目前集群服务器部署的版本为1.3.0,有点老哈,不过没关系,作者在打包部署这一块完全按照最新版本操作。
好了源码已经拉取下来了,那如何打包呢?如下操作:
执行命令:
-Prelease-nacos -Dmaven.test.skip=true clean install -U
然后咱们一起看看打好的包在哪:
以上那个tar.gz包实际就是需要执行的包。
nacos实际分为单机模式和集群模式两种,此两种作者都会为大家一一解答。
第一种单机模式:作者用window给大家演示
首先把tar.gz包进行解压
单机模式的大家都能搜到启动方式:
首先进到cmd打开后进入bin目录下,然后执行:
startup.cmd -m standalone
这是因为nacos默认启动的方式是集群模式,所以单机版的必须要加 -m standalone
好了,大家跟着作者看启动后的样子:
然后咱们页面访问下:
访问路径:
http://127.0.0.1:8848/nacos/#/login
哈哈,新版本升级后安全做的更全面了,老版本是没有这个"内部系统,不可暴露到公网"的提示的。
但是如果每次启动都要进入bin下面,然后执行命令,感觉好麻烦,所以作者对启动命令做了如下优化:
用文件打开如上的cmd
更改前:
更改后:
更改源码:
if %MODE% == "cluster" (
echo "nacos is starting with standalone"
set "NACOS_OPTS=-Dnacos.standalone=true"
set "NACOS_JVM_OPTS=-Xms512m -Xmx512m -Xmn256m"
)
以上的意思就是无论是否执行有没有带参数(带参数走单机,不带就话走默认[集群]),就算走集群的条件,也让它nacos的standalone=true,这样只需要双击startup.cmd即可。这块作者已经验证了,就不贴图了,这样的好处是可以把cmd命令放入桌面上,想用了直接双击即可:
对了,nacos的jdk环境是1.8哦,大家默认环境必须是1.8,否则就要在启动的cmd中更改了。
nacos的默认用户名和密码都是nacos。
登录成功后:
好,以上的介绍大体完成了,下面以micro-app服务给大家演示:
首先第一步增加nacos的客户端:
然后进行配置:以dev环境为例;
那以上的命名空间如何来的呢?
大家还记得前几章讲的zookeeper的配置吗?咱们在此直接测试看是否有效果呢:
配置好了,我们一起来启动服务看是否注册成功
注册成功。
我们接着看动态配置是否成功,增加配置:
已经成功获取了。
此刻已经ok啦,我把配置发出来:
server.port=8088
spring.profiles.active=dev
spring.datasource.dynamic.primary=master
spring.datasource.dynamic.strict=false
spring.datasource.dynamic.datasource.master.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.dynamic.datasource.master.username=root
spring.datasource.dynamic.datasource.master.password=123456
spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.dynamic.datasource.test.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.dynamic.datasource.test.username=root
spring.datasource.dynamic.datasource.test.password=123456
spring.datasource.dynamic.datasource.test.driver-class-name=com.mysql.jdbc.Driver
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
test=test
备注:在此作者使用的是nacos默认使用的文件形式:properties,实际可以通过配置进行更换为yml,如有此要求,可自行百度。
以上就是nacos的单机模式使用,本打算今天一篇文章就可以对nacos单机和集群都讲完,没想多内容还真挺多的。
所以nacos的集群只能放到下一章讲解了,作者也有点累了~,大家自行学习哦,我要休息会儿了。
整套架构初步规划包含技能点:
springcloud、springboot、mybatis、分环境打包、mybatis-plus、动态数据源、druid、增删改查一键生成、quartz集群、注册中心:zookeeper+zkui和nacos、gateway网关、feign的使用、熔断机制、如何防止雪崩、分布式+集群、一个项目如何进行zk和nacos同时使用、动态配置:一个配置,所有集群节点共同热点使用。
源码获取方式:
请关注以下公众号并回复: code