nacos学习手册

本文最后更新于:2 年前

关于nacos的基础知识学习手册

nacos

配置中心

配置

应用程序在启动和运行的时候往往需要读取一些配置信息

  1. 配置是独立于程序的 只读 变量
  2. 配置伴随应用的整个生命周期
  3. 配置可以有多个加载方式
    • 常见:程序内部hard code、配置文件、环境变量、启动参数、基于数据库等方式
  4. 配置需要治理
    • 同一程序在不同环境(开发、测试、生产)、不同集群需要管理治理

配置中心

微服务架构中,将各服务点(应用)的配置剥离出来,统一管理,应用不需要自身去配置管理。

Nacos简介

主流的配置中心

  • Spring Cloud Config
  • Apollo
  • Nacos
  • Discond(停止维护)

阿里的开源产品。

针对微服务架构中的服务发现(Nacos Discovery)、配置管理(Nacos Config)、服务治理提供综合性解决方案。

更新快 生命力强 性能高

Nacos特性

四大特性

  1. 服务发现与服务健康检查

    是服务更容易注册,可以通过http和Dns接口发现其他服务提供服务的实时健康检查,防止向不健康的主机或服务实例发送请求。

  2. 动态配置管理

    允许在所有环境中以集成和动态的方式管理所有服务的配置。不用因为更改配置而重新部署应用程序,使配置更改更加灵活和高效。

  3. 动态DNS服务

    基于DNS协议的服务发现能力,旨在支持异构语言支持将注册在Nacos上的服务以域名的方式暴露端点,利于第三方应用的查阅及发现。

  4. 服务和元数据管理

    从微服务平台建设的视角管理数据中心的所有服务 及 元数据, 包括 管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略。

核心功能

Nacos注册中心

目的

管理微服务、解决微服务之间调用关系错综复杂、难以维护的问题

注册中心存在注册表,存储服务提供者的信息

服务消费者可以利用 定时任务 在注册中心 服务获取接口 获取注册表缓存,减少Nacos并发。

服务提供者 利用定时任务 完成心跳检测,确保注册表信息的实时有效性。

服务发现

服务注册

Alibaba-Discovery

服务心跳

默5s/次。Nacos Client会维护一个定时心跳来持续通知Nacos Server,说明服务一直处于可用状态,防止被剔除。

服务同步

Nacos Server集群之间会相互同步服务实例,用来保证服务信息的一致性。

服务发现

服务消费者(Nacos Clint)在调用服务提供者时。会发送一个REST请求给Nacos Server 获取上面注册的服务清单,病患存在NacosClient本地,并在Nacos Client开启定时任务,定时拉取更新。

服务健康检查

Nacos开启定时任务来检测注册服务实例的健康,超时15s没有心跳,healthy改为false,超30s没有心跳,剔除。

Server部署

  1. 下载
    GitHub下载地址

  2. 解压

  3. 修改配置
    修改为单机启动

    修改配置文件

1
2
3
set MODE="cluster"
rem 修改为
rem set MODE="standalone"

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!