一、核心

  1. 通过心跳方式保证集群节点之间的存活状态
  2. 通过一致性协议保证数据AP或者CP

二、协议

Nacos中有两种协议,JRaft(CP)、Distro(AP),协议本身没有什么高大上,只是有一套规则保证CAP;

CAP理论:

  1. C:Consistency(强一致性)
  2. A:Availability(可用性)
  3. P:Partition tolerance(分区容错性)

注册中心:特性更加适合AP,基于内存,保证高可用所以在Nacos中使用Distro协议;
配置中心:特性需要保证各节点配置是同步的,基于存储设备,所以使用的JRaft协议;

1. 集群保活

  1. 每五秒和集群其中一个节点交换节点信息-http;
  2. 第一次5秒给所有发送请求检查健康,后续2秒检查一次-http;

2. tcp保活

Nacos2.*开始使用Grpc,所以有一套保证连接的方式,这个连接可能是集群之间也可能是实例于集群之间的
只管理连接层面的,不管业务层面

  1. 连接活跃时间大于5秒给被连接对象发送一次心跳包-grpc;
  2. 心跳检查失败后,不断重试-睡眠-重试,最少五秒尝试重连一次-grpc;
  3. 给注册到节点的连接,活跃时间超过20秒的发送检查包,失败就断连-grpc;

2. Distro(AP)怎么保证注册中心数据最终一致(Base)

主要在内存中保存集群数据和实例数据

  1. 集群节点启动时全量拉去其他所有集群节点的数据;
  2. 根据权重选择获取数据的集群节点,也就是连接的集群节点;
  3. 每个5秒轮询一个节点校验元数据,校验失败全量拉取;
  4. 每个节点独立处理读请求,及时从本地发出响应。
  5. 写到本机,同步给其他节点

Nacos 原理 Jraft Distro Grpc 持续跟新中...相关推荐

  1. 2012 SunGard China HE 裁员大事记 ---持续跟新中

    2012 SunGard China HE 裁员大事记 2012/2/28 周二   早上 9点 发现部门所有服务器 "失踪",无法使用公司域,SVN 被禁止访问,包括Helios ...

  2. 谭浩强C程序设计第五版课后答案视频+代码讲解完整版(合集)持续跟新中~~~

    这里是一个谭浩强C程序设计第五版课后答案的合集 请看下面: 工欲善其事必先利其器 写C语言代码,首先得有安装一个趁手的工具,那么VS系列是最合适不过的了 这里是安装教程: VS2013安装教程和使用 ...

  3. 网易云音乐API调用(持续跟新中)

    ** 最近两天在学习一下微信小程序,在学习网络请求的部分了解了一下网易云音乐api的使用,下面给大家分享一下. ** 调用方法: https://api.imjad.cn/cloudmusic/ 在以 ...

  4. atitit.atiOrmStoreService 框架的原理与设计 part1  概述与新特性

    atitit.atiOrmStoreService 框架的原理与设计 part1  概述与新特性 1. 新特性如下 支持生成sql在无数据库连接的情况下 2. Orm设计 主要的俩个以来service ...

  5. 白加黑加载方式_“白加黑减”即曝光补偿的应用方法及原理全面详解——致新手新新手...

    "白加黑减"即曝光补偿的应用方法及原理全面详解 --致新手新新手 本文对曝光补偿这一摄影基本技术及原理做一全面详细的分析和解释,旨在让受此困惑的新手能够从原理上彻底理解" ...

  6. 可持续,新机遇, 构建培育钻石产业生态圈——首届中国国际培育钻石产业发展与创新大会盛大举行

    2022年5月18.19日,由广东省商务厅.广州市商务局.中国国际贸易促进委员会广州市番禺区委员会.广东省交易控股集团指导,广州钻石交易中心(简称广钻中心)主办的第一届(2022年)中国国际培育钻石产 ...

  7. gRPC 在 Go 语言中的安装与简单实践

    现在非常流行微服务,而 RPC 框架是微服务中不可或缺的一环,gRPC 是其中一个非常出色的 RPC 框架,所以借此机会来记录一下 gRPC 在 Go 语言中的安装使用以及运用. PS.刚弄好 WSL ...

  8. 2022年最新互联网大厂前端面试题及答案-前端工程必备技能(持续整理更新中【关注收藏不迷路】)

    对于做前端的朋友,或者做了前端几年了,基础不好的,或者想进大厂的想了解深入,下面的知识点很多前端朋友都没有深入了解.很重要,看完有种茅塞顿开感觉,**关注+收藏哦,总有一天用的得.** 涉及到知识点: ...

  9. 持续交付模型中文化转型的重要意义

    为了加速业务创新,技术领导者正在向持续交付和敏捷靠拢. \\ CIO.com的资深作家Clint Boulton,最近写了一篇新闻分析Agile,continuous delivery models ...

  10. 一段话描述相控阵论文要点(持续学习更新中...)

    一段话描述相控阵论文要点(持续学习更新中...) 2109005-许唐红,詹珍贤,胡帅帅,宋豪.T/R组件阻抗失配对相控阵天线性能的影响[J].微波学报,2021,37(03):82-84+98. 分 ...

最新文章

  1. Linux学习笔记(二)文本编辑器
  2. 《kafka中文手册》-快速开始(二)
  3. linux yum配置文件 yum.conf 简介
  4. python 随机生成汉字的三种方法
  5. ES6的新特性(3)——变量的解构赋值
  6. install scrapy with pip and easy_install
  7. java.lang.IllegalArgumentException: No Retrofit annotation found. (parameter #4)
  8. final 在java,final 在java中的注意点
  9. gcc -D选项的作用
  10. 安卓手机鸿蒙系统怎么下载,华为鸿蒙系统来了:安卓系统会成为下一个“塞班”吗?...
  11. update mysql php_PHP的MySQL的更新update
  12. 洛谷 P3387 【模板】缩点
  13. tricks about and-or in python
  14. [POI2009]石子游戏Kam
  15. seekbar 的用法
  16. ubuntu 1604 安装 rabbitvcs
  17. 三菱M80操作介绍_CIMT2019 展品预览:三菱电机以“智能制造 价值创造”为主题参展...
  18. 【Linux】如何将ntfs硬盘挂载到home目录下并具有读写权限
  19. Win7系统下怎么显示文件的后缀
  20. Deep Learning Methods for Remote Heart Rate Measurement:A Review and Future Research Agenda

热门文章

  1. w ndows十空格键怎么按,电脑键盘空格键失灵不能用如何修复
  2. 关于pr(Premiere)的记录
  3. html背景图片纵向拉伸,html网页背景图片拉伸 关于html背景图片往下拉伸问题
  4. 阿里云 ECS 服务等级协议 SLA是什么?
  5. uni-app的checkbox多选和全选
  6. 静态多层Map缓存清除
  7. 常用的颜色色值(转)
  8. Dataframe修改列名
  9. 英尺英寸和厘米的换算_英寸、英尺与厘米如何换算
  10. python 公众号付费视频地址_Python下载微信公众号文章内的视频