最近几年随着云计算和微服务不断的发展,各大云厂商也都看好了微服务解决方案这个市场,纷纷推出了自己针对微服务上云架构的解决方案,并且诞生了云原生,Cloud Native的概念。
云原生是一种专门针对云上应用而设计的方法,用于构建和部署应用,以充分发挥云计算的优势。
云原生应用的特点是可以实现快速和频繁的构建、发布、部署,可以方便的满足在扩展性,可用性,可移植性等方面的要求,并提供更好的经济性。
针对云原生,云厂商也纷纷提出了自己的解决方案,阿里巴巴开源的Nacos就是其中之一,Nacos同时集成到了Spring Cloud Alibaba中,作为一个整体的解决方案。
Nacos解决两个核心问题:动态配置管理,服务注册发现。
一、Nacos支持功能
Nacos支持以下的功能,包括服务发现,配置管理,元数据管理,地址服务器,支持云原生,支持Docker和K8s等。
服务发现
- 服务注册与发现
- 健康检查:支持服务端探测、客户端心跳
- 路由策略:支持权重、保护阈值、就近访问
配置管理
- 配置管理:支持发布、修改、查询、监听配置
- 灰度配置:支持灰度发布
元数据管理
- 对接第三方CMDB
地址服务器
- 支持Nacos寻址
云原生支持
- 对接Istio
- 对接ConfigMap
多客户端支持
- 支持多种客户端,包括Java客户端、Go客户端、Node.js客户端、C#客户端
支持Docker和K8s
- 支持Docker部署Nacos Server
- 支持K8s部署Nacos Server
二、Nacos快速启动
Nacos最新的稳定版本为1.1.4。
版本记录可以查看 release notes
环境准备和安装
Nacos 依赖 Java 环境来运行,需要JDK 1.8以上版本。
可以通过源码和发行包两种方式来获取 Nacos。
从 Github 上下载源码并构建
git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
直接下载压缩包文件
下载地址,最新稳定版本 ,下载后是 nacos-server-$version.zip 包。
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
cd nacos/bin
启动服务器
Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
Windows
启动命令:
cmd startup.cmd
或者双击startup.cmd运行文件。
关闭服务器
Linux系统下,运营shutdown.sh,
sh shutdown.sh
Windows系统,双击shutdown.cmd运行文件。
cmd shutdown.cmd
查看控制台
应用启动之后,访问 http://127.0.0.1:8848/nacos/,Nacos0.8 版本已经支持简单登录功能,默认用户名/密码为: nacos/nacos。