点击上方蓝色“Java精选”,选择“设为星标”
技术文章第一时间送达!
什么是Nacos?
Nacos是阿里巴巴开源的项目,是一个更易于帮助构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos英文全称是Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,
service是指该注册/配置中心都是以服务为核心。
Nacos功能介绍
1、动态配置服务动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。2、服务发现及管理动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。3、动态DNS服务通过支持权重路由,动态DNS服务能让您轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单DNS解析服务。
动态DNS服务还能让您更容易地实现以DNS协议为基础的服务发现,以消除耦合到厂商私有服务发现API上的风险。
为什么选择Nacos?
1、易于使用动态配置管理、服务发现和动态的一站式解决方案;20多种开箱即用的以服务为中心的架构特性;基本符合生产要求的轻量级易用控制台。2、更适应云架构无缝支持Kubernetes和Spring Cloud;在主流公共云上更容易部署和运行(例如阿里云和AWS);多租户和多环境支持。3、生产等级脱胎于历经阿里巴巴10年生产验证的内部产品;支持具有数百万服务的大规模场景;具备企业级SLA的开源产品。4、丰富的应用场景支持限流、大促销预案和异地多活;直接支持或稍作扩展即可支持大量有用的互联网应用场景;
流量调度和服务治理。
准备环境
在开始之前,请安装以下组件(官方推荐):64位操作系统:支持Linux/Unix/Mac/Windows,建议使用Linux/Unix/Mac(本次演示使用Windows系统)。
64位JDK 1.8版本及以上。
Maven 3.2.x版本及以上。
下载源码或者安装包
Nacos可以通过源码或者发行包两种方式下载。1)从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/bi
2)下载编译后压缩包方式https://github.com/alibaba/nacos/releases建议选择稳定版本(将$version替换成版本号):unzip nacos-server-$version.zip OR tar -xvf nacos-server-$version.tar.gz
cd nacos/bin
Windows版本直接使用解压工具即可。
启动Nacos Server服务
Linux/Unix/Mac操作系统,执行命令如下:sh startup.sh -m standalone
如果使用的是ubuntu系统,或遇到此错误消息(找不到符号),请尝试方式运行:bash startup.sh -m standalone
Windows操作系统,执行命令bin目录下文件,命令如下:cmd startup.cmd
nacos server访问地址:http://127.0.0.1:8848/nacos/nacos默认账户密码:
nacos/nacos
服务与配置管理
1、服务注册在控制台界面中手动添加配置信息如下:curl -X POST "http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=blog.yoodb.com&ip=123.57.47.154&port=443"
参数含义服务名:blog.yoodb.com
保护阈值:0
分组(默认):DEFAULT_GROUP
2、服务发现参考服务注册此步跳过curl -X GET "http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=blog.yoodb.com"
3、发布配置在命令行执行如下命令向Nacos Server中添加一条配置或者在控制台界面中手动添加。curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=blog.yoodb.com&group=TEXT_GROUP&content=helloWorld"
参数含义dataId:blog.yoodb.com
group:TEXT_GROUP
配置内容:helloWorld
4、获取配置参考发布配置此步跳过。curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=bl