今天来学学Nacos

星夢妙者
发布: 2025-09-17 09:09:17
原创
937人浏览过

一、nacos概述

Nacos是由阿里巴巴中间件团队开源的一款服务发现、配置管理和微服务治理的中间件。它的主要特性包括:

  • 服务发现与健康监测:Nacos支持基于DNS和RPC的服务发现,服务提供者可以通过原生SDK、OpenAPI或独立的Agent注册服务。服务消费者则可以通过DNS或HTTP&API来查找和发现服务。此外,Nacos提供实时的健康检查,防止向不健康的主机或服务实例发送请求。

  • 动态配置服务:Nacos能够以集中化、外部化和动态化的方式管理所有环境的应用配置和服务配置,避免了配置变更时需要重启服务的情况,使得配置管理更加高效和灵活。配置中心化的管理还简化了无状态服务的实现,并使服务的弹性扩展变得更加容易。

  • 动态DNS服务:Nacos的动态DNS服务支持权重路由,方便实现中间层负载均衡、灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。它还支持基于DNS协议的服务发现,降低了依赖私有服务发现API的风险。

  • 服务及其元数据管理:Nacos从微服务平台建设的角度管理数据中心的所有服务及其元数据,包括服务描述、生命周期、静态依赖分析、健康状态、流量管理、路由及安全策略、SLA以及关键的metrics统计数据。

二、Nacos架构基础

今天来学学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的安装与环境准备

Nacos对环境的要求包括:64位操作系统(支持Linux、Unix、Mac、Windows,但不推荐使用Windows)、64位JDK 1.8+、Maven 3.2.x+。

下载源码或安装包

// 从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/
// 更改$version为实际路径
cd distribution/target/nacos-server-$version/nacos/bin/

// 下载压缩包的方式
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
cd 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的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号