配置中心原理

1.Nacos 客户端使用长轮询请求客户端变更数据,并且设置30s超时,当配置发生变化响应会立即返回,否则一直等到29.5s之后再返回响应。

2.客户端的请求到达服务端后,服务端将该请求加入AllSubs的队列中,等待配置发生变更时DataChangeTask主动去触发,并将变更后的数据写入响应

3.与此同时服务端也会将请求封装成一个调度 任务去执行 ,等待调度 的期间就是等DataChangeTask主动触发,如果DataChange未触发的话,则调度任务开始执行数据变更的检查,然后将检查结果写入 响应结果。

注册中心原理

1.客户端启动时会将当前服务信息包含ip、端口、服务名、集群等信息封装为一个instance对象,并创建一个定时任务,每隔一段时间向Nacos服务器发送Put请求并携带信息。

2.Nacos服务端在接收到心跳请求后,会去检查当前服务列表中有没有该实例,如果没有就注册实例,注册完成后就创建心跳定时任务 ,更新客户端实例的最后心跳时间,如果当前实例是非健康状态则更为健康状态。

服务实例添加方式

Nacos将实例添加到对应服务列表中会根据AP和CP

1.CP模式基于Raft协议,由Leader节点将数据更新内存和磁盘文件,必须集群半数以上节点写入成功才会返回客户端响应。

2.AP模式基于Distro协议,向任务阻塞队列添加一个本地服务实例改变任务,去更新本地服务列表,然后遍历集群中得所有节点,分别创建数据同步任务进行数据同步,不需要等待同步任务完成即返回。

Nacos

https://www.zhihu.com/question/485925746/answer/2525479728?utm_campaign=shareopn&utm_content=group3_Answer&utm_medium=social&utm_oi=809429980260995072&utm_psn=1566427540025233408&utm_source=wechat_session

nacos原理的更多相关文章

  1. spring-cloud-alibaba之Nacos

    在微服务构架中,集群服务间的需要调用时就需要知道各个服务的IP和提供服务的端口等信息,如果每个部署一个服务就配置一次,那么必然时非常麻烦的,因此我们需要一个能够统一管理的东西来解决这个问题,由此诞生了 ...

  2. 保姆教程系列一、Linux搭建Nacos

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 简介: Nacos是阿里巴巴开源的一款支持服务注册与发现,配置管理以及微服务管理的组件.用来取代以前常用的注册中心(zookeeper ...

  3. Nacos配置中心原理

    动态配置管理是 Nacos 的三大功能之一,通过动态配置服务,我们可以在所有环境中以集中和动态的方式管理所有应用程序或服务的配置信息. 动态配置中心可以实现配置更新时无需重新部署应用程序和服务即可使相 ...

  4. 2021升级版微服务教程6—Ribbon使用+原理+整合Nacos权重+实战优化 一篇搞定

    2021升级版SpringCloud教程从入门到实战精通「H版&alibaba&链路追踪&日志&事务&锁」 教程全目录「含视频」:https://gitee.c ...

  5. Nacos 服务注册的原理

    Nacos 服务注册需要具备的能力: 服务提供者把自己的协议地址注册到Nacos server 服务消费者需要从Nacos Server上去查询服务提供者的地址(根据服务名称) Nacos Serve ...

  6. Nacos注册中心和配置中心流程原理

    一.Nacos注册中心 1.服务启动后---->服务注册原理 springCloud集成Nacos实现原理: 服务启动时,在spring-cloud-commons包下 spring.facto ...

  7. 🏆【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(上)

    官方资源 https://nacos.io/zh-cn/docs/quick-start.html Nacos之配置中心 动态配置管理是 Nacos的三大功能之一,通过动态配置服务,可以在所有环境中以 ...

  8. 🏆【Alibaba中间件技术系列】「Nacos技术专题」服务注册与发现相关的原理分析

    背景介绍 前几篇文章介绍了Nacos配置中心服务的能力机制,接下来,我们来介绍Nacos另一个非常重要的特性就是服务注册与发现,说到服务的注册与发现相信大家应该都不陌生,在微服务盛行的今天,服务是非常 ...

  9. Nacos配置中心集群原理及源码分析

    Nacos作为配置中心,必然需要保证服务节点的高可用性,那么Nacos是如何实现集群的呢? 下面这个图,表示Nacos集群的部署图. Nacos集群工作原理 Nacos作为配置中心的集群结构中,是一种 ...

  10. nacos底层原理

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

随机推荐

  1. javaSE学习二

    使用Scanner实现用户交互 注意点:使用next方法时一定读取到有效字符后才能结束输入,有效字符前的空白自动去除,有效字符后的空白为结束符,next不能得到有空格的字符串. nextline方法以 ...

  2. FMC子卡设计资料原理图:FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡

    FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡 一.产品概述 ADRV9002 是一款高性能.高线性度.高动态范围收发器,旨在针对性能与功耗系统进行优化.该设备是可配置的,非常适合要 ...

  3. vue跨行跨列动态表格生成

    一.思路步骤: 根据后台传输的数据进行格式转化: 索引为多少的时候进行跨行: <table id="table"> <thead> <tr> & ...

  4. CF1268B题解

    CF1268B 题解 题目翻译 给你一个杨表,用一个有 \(n\) 个元素的数组 \(a\) 表示杨表每一列的高度.你需要用 \(1 \times 2\) 或 \(2 \times 1\) 的骨牌填充 ...

  5. vim学习小结

    参考书籍<Linux 从入门到精通>第二版(刘忆智 等编著) Vim编辑器 背景:Vim的设计哲学就是让使用者能够在主键盘区完成所有工作. vim是vi的增强版本,vim分为插入和命令两种 ...

  6. Google 官方 AppCrawles学习小结

    Google 官方 AppCrawles学习小结 AppCrawler可自动化测试应用程序,无需编写和维护任何代码. 可以自动发出(轻按.滑动)等操作执行app,当应用程序崩溃或达到指定的超时时间将终 ...

  7. [转载]Linux关于磁盘操作命令

    一.查看篇 1.1.du : 查看文件和 目录的使用空间 语法: du [参数]  [文件或目录] 参数 说明 -a 列出所有的文件与目录容量. -h 以G.M.K为单位,返回容量. -s 列出总量. ...

  8. Python的入门学习Day 19~21——form”夜曲编程“

    ..Day 19 time:2021.8.16. ​ 很神奇地,编程和数学渐渐有了交集--今天学习了函数,连模样都像 f(x) 的形式.比较有区分度的是,在P里,"x"被称为&qu ...

  9. verilog Signed与赋值形式

    `timescale 1ns/1ps module test; reg signed[3:0] uu; reg signed[3:0] dd; reg [2:0] extract; reg [4:0] ...

  10. 二、chaosblade实现k8s集群操作

    1.执行 Kubernetes 实验场景,需要提前部署 ChaosBlade Operator,Helm 安装包下载地址 https://github.com/chaosblade-io/chaosb ...