Nacos

2021/12/07 中间件 共 837 字,约 3 分钟

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

nacos简介

Nacos 的关键特性包括:

  • 服务发现和服务健康监测
  • 动态配置服务
  • 动态 DNS 服务
  • 服务及其元数据管理

nacosMap

nacos架构

基础架构

nacos_arch.jpg

逻辑架构及组件

nacos-logic.jpg

nacos配置模型

image-20220414182647052

上图是 Nacos 配置管理的基础模型:

  1. Nacos 提供可视化的控制台,可以对配置进行发布、更新、删除、灰度、版本管理等功能。

  2. SDK 可以提供发布配置、更新配置、监听配置等功能。

  3. SDK 通过 GRPC 长连接监听配置变更,Server 端对比 Client 端配置的 MD5 和本地 MD5是否相等,不相等推送配置变更。

  4. SDK 会保存配置的快照,当服务端出现问题的时候从本地获取。

nacos服务发现模块

服务发现

image-20220414191834398

nacos健康检查机制

如果我们需要知道⼀个服务是否还健康,那么 第⼀种方式是客户端主动上报,告诉服务端自己健康状态,如果在⼀段时间没有上报,那么我们就认为服务已经不健康。第二种,则是服务端主动向客户端进行探测,检查客户端是否还被能探测到。

Nacos 中两种健康探测方式均有使用。

image-20220414185900407

nacos配置管理模块

配置一致性模型

Server 间的⼀致性协议
有 DB 模式(读写分离架构)

⼀致性的核心是 Server 与 DB 保持数据⼀致性,从而保证 Server 数据⼀致;Server 之间都是对 等的。数据写任何⼀个 Server,优先持久化,持久化成功后异步通知其他节点到数据库中拉取最新 配置值,并且通知写入成功。

image-20220414191035019

无 DB 模式

Server 间采用 Raft 协议保证数据⼀致性,行业大部分产品采用此模式,因此不展开介绍。Nacos提供此模式,是方便用户本机运行,降低对存储依赖。

SDK 与 Server 的⼀致性协议

SDK 与 Server ⼀致性协议的核心是通过 MD5 值是否⼀致,如果不⼀致就拉取最新值。

nacos2.x 长链接模式,配置变更,启动建立长链接,配置变更后,服务端推送变更配置列表,然后 SDK 拉取配置更新,因此通信效率大幅提升。

文档信息

搜索

    Table of Contents