Nacos介绍及使用

Nacos是一个服务发现和配置管理工具,由阿里巴巴开源,现在属于开源基金会的一部分。Nacos可以用来管理配置信息、服务注册与发现、以及提供动态服务配置更新。Nacos提供了友好的Web界面来方便用户进行操作,同时也提供了丰富的API接口供开发人员使用。
### Nacos 的主要功能:
1. "服务注册与发现":Nacos允许服务实例在启动时自动注册到Nacos服务器,并且可以通过Nacos客户端查询服务列表。 2. "配置管理":Nacos可以用来管理应用配置,支持动态更新配置而不需要重启应用。 3. "服务配置":Nacos可以对服务进行配置,比如设置服务的健康检查策略等。 4. "分布式协调":Nacos提供了分布式锁、分布式通知等功能。
### Nacos 的使用场景:
- 微服务架构中的服务注册与发现。 - 配置中心,用于集中管理所有微服务的配置信息。 - 动态路由,可以根据配置动态修改路由规则。 - 服务间的协同工作,如分布式锁等。
### Nacos 的使用步骤:
1. "安装Nacos":可以从Nacos官网下载安装包,按照官方文档进行安装。 2. "创建Nacos账号":首次启动Nacos时,需要创建一个管理员账号。 3. "服务注册":在服务的启动类中添加Nacos的依赖,并配置Nacos的相关参数,比如服务器地址

相关内容:

一、Nacos介绍

Nacos是SpringCloudAlibaba架构中最重要的组件。

Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供注册中心、配置中心和动态 DNS 服务三大功能。能够无缝对接Springcloud、Spring、Dubbo等流行框架。

Nacos 支持a(高可用)p(分区容错)和c(一致性)p(分区容错),默认为ap, eureka仅支持ap,zookeeper仅支持cp

二、Nacos能做什么?

服务注册发现和服务健康监测:

  Nacos支持基于DNS和基于RPC的服务发现,服务端可以通过SDK或者Api进行服务注册,相应的服务消费者可以使用DNS或者Http查找的方式获取服务列表。Nacos同时提供对服务的实时健康检查,阻止向不健康的主机或服务发送请求,与Eureka类似Nacos也有友好的控制台界面。

动态DNS服务:

  支持权重路由,更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。

动态配置服务:

  接触过SpringCloud应该对config有所了解,那么配置中心也就很好理解,Nacos支持动态的配置管理,将服务的配置信息分环境分类别外部管理,并且支持热更新。不过与Config不同Nacos的配置信息存储于数据库中,支持配置信息的监听和版本回滚。

服务及元数据管理:

  Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA (服务等级协议)以及最首要的 metrics 统计数据(默认不开启暴露需要修改配置)。可以搭建搭建prometheus采集Nacos metrics数据也可以搭建搭建grafana图形化展示metrics数据

三、Nacos服务端搭建(Window):

Nacos官方下载地址:
https://github.com/alibaba/nacos/releases

Nacos码云下载地址(更快):
https://gitee.com/mirrors/Nacos/releases

解压后,进入 bin 目录,注意,bin目录在 distribution 下面

C:work_programNacos-2.2.0.1-releasedistributionbin

编辑 startup.cmd

set MODE="cluster" 修改为 set MODE="standalone" 单机模式 或者输入指令 startup -m standalone 单机模式启动

  • JDK问题

双击 startup.cmd,屏幕闪一下然后关闭,

cd C:work_programNacos-2.2.0.1-releasedistributionbin>startup

报错 Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better!

java -version,版本为 jdk 17,可能版本太高了。。。

修改 java home,引用 jdk 8

删除

C:Program FilesCommon FilesOracleJavajavapath

C:Program Files (x86)Common FilesOracleJavajavapath

配置

JAVA_HOME C:Program FilesJavajdk1.8.0_202

Path 添加 %JAVA_HOME%bin 和 %JAVA_HOME%jrebin

  • nacos-server.jar 不存在

"nacos is starting with standalone"

Unable to access jarfile C:work_programNacos-2.2.0.1-releasedistribution argetnacos-server.jar

cd C:work_programNacos-2.1.1-> mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U

生成了 nacos-server.jar,把这个 jar 放到distribution argetnacos-server.jar

  • 找不到 nacos-console:jar:2.2.0

Failed to execute goal on project nacos-distribution: Could not resolve dependencies for project com.alibaba.nacos:nacos-distribution:pom:2.2.0: Could not find artifact com.alibaba.nacos:nacos-console:jar:2.2.0 in alimaven (http://maven.aliyun.com/nexus/content/groups/public/)

中央仓库确实没有这个artifact!!!

发现 nacos 有 console 目录,

查看 pom 文件,原来 nacos-console 项目在这里。。。

安装 nacos-console cd C:work_programNacos-2.1.1console mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U

  • 端口号被占用

com.alibaba.nacos.core.distributed.raft.exception.JRaftException: java.io.IOException: Failed to bind

netstat -aon|findstr "8848" 没有进程占用这个端口号,

重启电脑,启动 nacos 成功。


http://localhost:8848/nacos 用户名和密码都是 nacos

#发现深圳美好# #程序员#

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章