Skip to content

Nacos服务 ​

翻版📝 chandler📆 2024-04-20 19:57

介绍 ​

概览 ​

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 ( 例如微服务范式、云原生范式) 的服务基础设施。

注册中心主要有三种角色 ​

服务提供者(RPC Server) ​

在启动时,向 Registry 注册自身服务,并向 Registry 定期发送心跳汇报存活状态。

服务消费者(RPC Client) ​

在启动时,向 Registry 订阅服务,把 Registry 返回的服务节点列表缓存在本地内存中,并与 RPC Sever 建立连接。

服务注册中心(Registry) ​

用于保存 RPC Server 的注册信息,当 RPC Server 节点发生变更时,Registry 会同步变更,RPC Client 感知后会刷新本地 内存中缓存的服务节点列表。

服务注册中心的作用 ​

服务注册 ​

就是将提供某个服务的模块信息(通常是这个服务的ip和端口)注册到1个公共的组件上去(比如: zookeeper\consul)。

服务发现 ​

就是新注册的这个服务模块能够及时的被其他调用者发现。不管是服务新增和服务删减都能实现自动发现。

功能对比 ​

Nacos 支持几乎所有主流类型的服务的发现、配置和服务管理平台,提供「注册中心」、「配置中心」和「动态 DNS 服务」三大功能。能够无缝对接Springcloud、Spring、Dubbo等流行框架。

功能模块nacoseureka功能说明
注册中心√√服务治理,服务中心化注册
配置中心√×eureka需要配合springcloud config实现
配置动态刷新√×nacos通过netty保持tcp长链接进行推送,eureka需要配合mq实现配置动态刷新
可用区az√√对服务集群划分不同区域,实现区域隔离,并提供灾难级自动切换
分组√×acos根据不同的业务、环境进行分组管理(namespace,group)
元数据√√提供服务标签数据(环境、服务标识)
权重√×nacos提供权重设置,调整承载流量压力
健康检查√√nacos提供服务端或者客户端发起的健康监测,eureka是有客户端发起心跳
负载均衡√√均提供负载均衡策略,eureka采用ribbon

环境准备 ​

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:

  1. 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
  2. 64 bit JDK 1.8+
  3. Maven 3.2.x+

官方源码运行 ​

版本选择 ​

您可以在Nacos的release notes及博客中找到每个版本支持的功能的介绍,当前推荐的稳定版本为2.3.2。

下载发行包 ​

您可以从 最新稳定版本 下载 nacos-server-$version.zip 包。

shell
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
cd nacos/bin

修改配置文件 ​

在2.2.0.1和2.2.1版本时,必须执行此变更,否则无法启动;其他版本为建议设置。

修改conf目录下的application.properties文件。 设置其中的nacos.core.auth.plugin.nacos.token.secret.key值

注意: 文档中的默认值SecretKey012345678901234567890123456789012345678901234567890123456789 和VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=为公开默认值, 可用于临时测试,实际使用时请务必更换为自定义的其他有效值。

启动服务器 ​

注:Nacos的运行建议至少在2C4G 60G的机器配置下运行。

Linux/Unix/Mac ​

启动命令(standalone代表着单机模式运行,非集群模式):

shell
sh startup.sh -m standalone

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

bash
bash startup.sh -m standalone

Windows ​

启动命令(standalone代表着单机模式运行,非集群模式):

cmd
startup.cmd -m standalone

关闭服务器 ​

Linux/Unix/Mac ​

shell
sh shutdown.sh

Windows ​

cmd
shutdown.cmd

或者双击shutdown.cmd运行文件。

本地集成源码运行 ​

下载Nacos源码 ​