图解 | 注册发现核心原理提炼

开发 前端
通过对Nacos注册与发现源码阅读,将其核心原理归纳提炼。包含:注册、发现、节点之间通信、健康检查类型。

[[414657]]

引言

通过对Nacos注册与发现源码阅读,将其核心原理归纳提炼。包含:注册、发现、节点之间通信、健康检查类型。

一、服务注册原理

当客户端发起注册时,注册原理逻辑见下图,进一步简化主要有:

  • 将新注册的实例信息推送给订阅该服务的订阅者
  • 将新注册的实例信息增量同步给集群中的其他节点

二、服务发现原理

服务发现的逻辑进一步简化为:

  • 定时从注册中心查询最新服务实例列表信息
  • 定时频率通常为6秒,发生异常为60秒

三、集群节点通信原理

集群中节点通信原理可以进一步简化为:

  • 每个节点用于全量的注册快照信息
  • 新节点加入集群时会从集群中某节点发起全量同步
  • 节点之间每隔5秒校验缓存的注册快照信息
  • 节点之间每隔2秒进行一轮健康检查用于关闭/新建/刷新gRPC连接

四、健康检查类型与场景

健康检查类型与场景进一步可以简化为:

  • 临时节点通过gRPC连接保鲜实现,保鲜频率为5秒
  • 临时节点注册使用Distro协议,持久节点注册使用Raft协议
  • 持久节点支持客户端心跳和服务端探活两种方式
  • 持久节点探活支持HTTP、TCP等探活类型

本文转载自微信公众号「瓜农老梁」,可以通过以下二维码关注。转载本文请联系瓜农老梁公众号。

 

责任编辑:武晓燕 来源: 瓜农老梁
相关推荐

2023-03-01 08:15:10

NginxNacos

2023-11-29 16:21:30

Kubernetes服务注册

2020-04-02 09:58:26

Kubernetes容器开发

2020-11-02 12:50:29

分布式系统服务

2021-02-05 15:01:41

GitLinux命令

2024-01-02 22:47:47

Nacos注册中心节点

2021-04-20 17:20:59

SpringColud EurekaNetflix开发

2015-12-25 11:00:52

Zookeeper的Python

2020-09-07 11:14:02

Vue异步更新

2024-03-13 15:21:24

APIJava原则

2015-09-23 16:14:03

Ryu拓扑结构

2020-11-02 09:35:04

ReactHook

2021-04-09 08:54:14

Kafka源码架构开发技术

2020-12-03 08:14:45

Axios核心Promise

2021-06-09 10:29:23

Kafka架构组件

2016-05-30 17:31:34

Spring框架

2022-11-08 00:00:00

监控系统Prometheus

2022-03-07 17:43:30

注册微服务架构

2023-03-03 08:09:40

ZooKeeper中间件

2021-12-07 07:32:09

kafka架构原理
点赞
收藏

51CTO技术栈公众号