Spring Cloud 从入门到精通(一)Nacos 服务中心初探
Spring Cloud 从入门到精通(一)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下载源代码
1 2 3 4 5 6 7 | 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 |
2)下载编译后压缩包方式
https://github.com/alibaba/nacos/releases
建议选择稳定版本(将$version替换成版本号):
1 2 | 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 操作系统,执行命令如下:
1 | 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=blog.yoodb.com&group=TEXT_GROUP"