前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nacos15# Nacos配置中心核心原理提要

Nacos15# Nacos配置中心核心原理提要

作者头像
瓜农老梁
发布2021-09-02 15:16:53
7020
发布2021-09-02 15:16:53
举报
文章被收录于专栏:瓜农老梁瓜农老梁

引言

通过对Nacos配置中心源码阅读,将其核心原理归纳提炼。包含:客户端逻辑和服务端逻辑。

一、内容提要

配置中心客户端逻辑

1.客户端流程概览

客户端整体流程可以进一步简化为:

  • 客户端通过长轮询的方式比较配置内容md5变更
  • 长轮询通过从阻塞队列不断获取元素判断是否立即执行
  • 阻塞队列无元素等待5秒执行

2.Listener注册逻辑

客户端Listener注册逻辑可以进一步简化为:

  • 客户端缓存了CacheData
  • 阻塞队列中添加了元素new Object()

3.配置变更检测逻辑

客户端长轮询逻辑,可以进一步简化为:

  • 客户端收到服务端推送的变更事件后发起MD5校验
  • 客户端主动向服务端发起MD5校验

4.阻塞队列添加时机

二、配置中心服务端逻辑

1.服务端变更发布流程

服务端变更发布流程可以进一步简化为:

  • 将变更内容写入数据库
  • 向本节点连接的Client发送变更通知
  • 向集群中其他节点发送变更通知

2.向Client发送变更通知

向Client发送变更通知进一步简化为:

  • 每个节点只负责直连到本节点的Client发送通知
  • 通知通过缓存的gRPC连接向Client发送

3.向其他节点发送变更通知

三、小结

如何检测到配置内容的变更?无非以下两种方式,上文是具体细节。

1.客户端通过长轮询向服务端查询 2.服务端向客户端发送变更通知

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 瓜农老梁 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.客户端流程概览
  • 2.Listener注册逻辑
  • 3.配置变更检测逻辑
  • 4.阻塞队列添加时机
  • 1.服务端变更发布流程
  • 2.向Client发送变更通知
  • 3.向其他节点发送变更通知
相关产品与服务
微服务引擎 TSE
微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档