Heycm

Heycm

SpringCloud系列之注册中心 - Nacos

2021-01-13

时隔半年,终于熊出没了。

工作生活工作生活,学习时间似乎就被挤出去了,没有找到生活工作学习的平衡点,可能是工作稍微松了一点,也是机缘巧合,这两天在学习springcloud,nacos,gateway,学习欲望上来了,趁机学习,记录过程。

是什么

个人认知和理解,不对之处恳请指正。

没记错的话,nacos是阿里巴巴2018年推出的集成 服务注册发现 以及 配置中心 微服务组件,可以完美适配spring cloud,大致相当于 eureka + config,网上各种数据表明nacos较强,在此不予比较和评价了,个人还是觉得熟悉的适合的才是最好的。

nacos集成服务注册发现和配置中心,有服务管理UI,用法相对简单易用,可以快速搭建一个单点或集群方式的注册中心和配置中心,还是比较高效好使的。

更多特性请看官网:https://nacos.io/zh-cn/docs/quick-start.html

本节内容机器环境

window10,java8,mysql5.7

下载

为了因为版本依赖而出现一些莫名其妙的问题,我们除了求佛祖保佑之外,还可以看看官方发布的版本说明

传送门:版本说明

image20210114214726829.png

image20210114214830492.png

nacos下载地址:https://github.com/alibaba/nacos/tags

自行选择合适的版本,这里取1.3.2版本

image20210113213419057.png

image20210113213554571.png

生产使用时,建议部署在linux吧,学习测试就无所谓了。

使用外置数据源(可选)

外置数据源使用MySQL,分5.7还是8.0版本的

官方建议使用外置数据源时,生产使用建议至少主备模式,或者采用高可用数据库。

这里以5.7版本为例,而且也没有主备,可以自行学习去。

解压后,在coonf文件夹下,有一个sql脚本,拿去跑一遍就可以了

image20210114204437547.png

然后去修改application.properties配置文件,把数据库配置打开,设置你的数据库名称,用户名,密码,数据库就已经准备好了,很简单

image20210114204542406.png

单机部署

官网教程:https://nacos.io/zh-cn/docs/quick-start.html

nacos默认以集群的方式启动,所以单机部署时需要指定以单机方式

image20210114204723159.png

当日志最后一行出现

 INFO Nacos started successfully in stand alone mode. use external storage

即表示单机模式启动成功了

image20210114205103293.png

访问控制台 http://127.0.0.1:8848/nacos 默认账户/密码为nacos/nacos

image20210114205619595.png

集群部署

集群需要至少部署3个节点,这里我们就以三个节点为例做一个不同端口的伪集群,在实际工作中需要部署在不同地域不同机器上才能达到容灾的目的,但是操作上差别没啥,换汤不换药。

集群部署需要写一个配置文件,模板也给了 cluster.conf.example,拷贝一份,重命名为 cluster.conf

image20210114210604954.png

cluster.conf 配置如下,有几个节点就写几个,至少3个

image20210114212830111.png

然后修改 application.properties 的端口号从8848开始,挨个修改,挨个启动

注:nacos默认以 cluster 模式启动,所以不用加指令直接双击启动脚本就可以。有的版本单机启动之后会直接修改启动脚本里边的启动模式为单机模式,从而导致集群不成功,这个情况可以把启动脚本里的模式改回来成 cluster 就可以了

set MODE="cluster"

image20210114211108773.png

image20210114211342313.png

控制台可以看到有3个节点

image20210114213539972.png

到此,就可以将你的服务注册到nacos,将你的配置写在nacos啦。😁