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源码