​Nacos介绍及使用

2024-10-11 17:58 来源:网络 点击:

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_program\Nacos-2.2.0.1-release\distribution\bin

编辑 startup.cmd

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

JDK问题

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

cd C:\work_program\Nacos-2.2.0.1-release\distribution\bin>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 Files\Common Files\Oracle\Java\javapath

C:\Program Files (x86)\Common Files\Oracle\Java\javapath

配置

JAVA_HOME C:\Program Files\Java\jdk1.8.0_202

Path 添加 %JAVA_HOME%\bin 和 %JAVA_HOME%\jre\bin

nacos-server.jar 不存在

"nacos is starting with standalone"

Unable to access jarfile C:\work_program\Nacos-2.2.0.1-release\distribution\target\nacos-server.jar

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

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

找不到 nacos-console:jar:2.2.0

[ERROR] 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_program\Nacos-2.1.1\console 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

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