Nacos是什么?
用官方的话讲就是:一个易于使用的动态服务发现、配置和服务管理平台,用于构建云本地应用程序。
Nacos有如下三个特征:
- 动态配置服务
通过动态配置服务,您可以集中,外部化和动态地管理所有环境中的配置。动态配置使您不必在配置更新时重新部署应用程序和服务。您可以实施无状态服务并轻松实现按需扩展。
- 服务发现和管理
动态服务发现是以服务为中心(例如微服务或云原生)体系结构的关键。Nacos支持基于DNS和基于RPC(Dubbo,gRPC)的服务发现,并提供实时服务运行状况检查,以防止将路由请求发送到不正常的主机或服务实例。使用Nacos,您还可以轻松地为您的服务安装断路器。
- 动态DNS服务
通过支持加权路由,动态DNS服务可帮助您在数据中心内的生产环境中实现中间层负载平衡,更灵活的路由,流量控制和DNS解析服务。动态DNS服务还使您更容易实现基于DNS的服务发现,从而最大程度地降低了耦合到特定于供应商的服务发现API的风险。
一、Nacos快速入门
参考官方提供文档:https://nacos.io/en-us/docs/quick-start.html
1.1 版本选择
您可以在发行说明或博客中看到每个版本的介绍,当前最新版本为1.4.1:https://github.com/alibaba/nacos/releases/tag/1.4.1
1.2 使用前准备
- 64位操作系统:支持Linux / Unix / Mac / Windows,建议使用Linux / Unix / Mac。
- 64位JDK 1.8+:下载,JAVA_HOME设置。
- Maven 3.2.x +:下载,设置。
1.3 如何获取Nacos
Github上面发行版本RELEASES:https://github.com/alibaba/nacos/releases
1.4 如何构建和应用Nacos
- 下载源码,编译运行
// 下载源码文件到自己机器
git clone https://github.com/alibaba/nacos.git
// 到NACOS_HOME目录,执行清理,安装,编译命令
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
// 查询编译包
ls -al distribution/target/
// 进入到已经编译好的包的执行目录下,版本号($version)自行选择
cd distribution/target/nacos-server-$version/nacos/bin
- 下载官方安装包,直接运行
// 下载运行包
https://github.com/alibaba/nacos/releases
// 解压
unzip nacos-server-$version.zip OR tar -xvf nacos-server-$version.tar.gz
// 进入到执行目录下
cd nacos/bin
1.5 单机启动Nacos
Linux / Unix / Mac
运行以下命令以启动(独立意味着非集群模式):
sh startup.sh -m standalone
ubuntu
bash startup.sh -m standalone
windows
运行以下命令以启动(独立意味着非集群模式):
cmd startup.cmd -m standalone
本地部署成功后登录地址:http://localhost:8848/nacos/
本地部署成功后登录请求地址:http://localhost:8848/nacos/v1/auth/users/login
备注:内网部署,请勿用在公网
二、开发笔记
2.1安装目录
cd ../NACOS_HOME/nacos-server-$version/bin
2.2单机版本启动
// 启动
./startup.sh -m standalone &
// 启动
sh startup.sh -m standalone
2.3 console
// 清理,编译
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
备注:
1、安装前安装Node,npm,前端打包需要依赖这俩
2、IDEA安装 protobuf
插件,不安装好像也可以
3、源码在打包时,使用了checkstyle,尽量按照checkstyle编写二次开发代码,可以关闭
4、调试源码时,请在JVM参数输入单机模式debug或运行