一、nacos概述
Nacos是由阿里巴巴中间件团队开源的一款服务发现、配置管理和微服务治理的中间件。它的主要特性包括:
服务发现与健康监测:Nacos支持基于DNS和RPC的服务发现,服务提供者可以通过原生SDK、OpenAPI或独立的Agent注册服务。服务消费者则可以通过DNS或HTTP&API来查找和发现服务。此外,Nacos提供实时的健康检查,防止向不健康的主机或服务实例发送请求。
动态配置服务:Nacos能够以集中化、外部化和动态化的方式管理所有环境的应用配置和服务配置,避免了配置变更时需要重启服务的情况,使得配置管理更加高效和灵活。配置中心化的管理还简化了无状态服务的实现,并使服务的弹性扩展变得更加容易。
动态DNS服务:Nacos的动态DNS服务支持权重路由,方便实现中间层负载均衡、灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。它还支持基于DNS协议的服务发现,降低了依赖私有服务发现API的风险。
服务及其元数据管理:Nacos从微服务平台建设的角度管理数据中心的所有服务及其元数据,包括服务描述、生命周期、静态依赖分析、健康状态、流量管理、路由及安全策略、SLA以及关键的metrics统计数据。
二、Nacos架构基础

Service(服务):服务指的是一个或一组软件功能,旨在供不同的客户端为不同的目的重用。Nacos支持主流的服务生态,如Kubernetes Service、gRPC/Dubbo RPC Service或Spring Cloud RESTful Service。
Service Registry(服务注册中心):服务注册中心是服务及其实例和元数据的数据库。服务实例在启动时注册到服务注册表,并在关闭时注销。服务和路由的客户端查询服务注册表以查找可用的服务实例。服务注册中心可能还会调用服务实例的健康检查API来验证其是否能够处理请求。
Service Metadata(服务元数据):服务元数据包括服务端点、服务标签、服务版本号、服务实例权重、路由规则、安全策略等描述服务的数据。
Service Provider(服务提供者):指提供可复用和可调用服务的应用方。
Service Consumer(服务消费者):指发起对某个服务调用的应用方。
Configuration(配置):在系统开发过程中,通常会将一些需要变更的参数和变量从代码中分离出来,独立管理为配置文件。这有助于静态系统工件或交付物(如WAR、JAR包等)更好地适应实际的物理运行环境。配置管理一般在系统部署过程中由系统管理员或运维人员完成,配置变更是一种调整系统运行时行为的有效手段。
今天学点啥
秘塔AI推出的AI学习助手
258 查看详情
Configuration Management(配置管理):在数据中心中,系统中所有配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等所有与配置相关的活动统称为配置管理。
逻辑架构:

组件的详细介绍可以在Nacos的官方网站找到。
三、Nacos的安装与环境准备
Nacos对环境的要求包括:64位操作系统(支持Linux、Unix、Mac、Windows,但不推荐使用Windows)、64位JDK 1.8+、Maven 3.2.x+。
下载源码或安装包:
// 从GitHub下载源码git clone https://github.com/alibaba/nacos.gitcd nacos/mvn -Prelease-nacos -Dmaven.test.skip=true clean install -Uls -al distribution/target/// 更改$version为实际路径cd distribution/target/nacos-server-$version/nacos/bin/// 下载压缩包的方式unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gzcd nacos/bin
启动服务器:
Linux/Unix/Mac:
sh startup.sh -m standalone
Windows:
cmd startup.cmd 或双击startup.cmd运行文件
服务注册与发现以及配置管理:
服务注册:
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
服务发现:
curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'
发布配置:
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"
获取配置:
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
关闭服务器:
Linux/Unix/Mac:
sh shutdown.sh
Windows:
cmd shutdown.cmd 或双击shutdown.cmd
在项目中集成Nacos后,笔者将会在后续文章中通过一个demo详细讲解。本次分享先简要了解一下Nacos。
JDK15已发布三天了,你还不知道更新了什么?Docker入门(一)
以上就是今天来学学Nacos的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/756406.html
微信扫一扫
支付宝扫一扫