注册中心设计 Ap 与 CP 区别|学习笔记

简介: 快速学习注册中心设计 Ap 与 CP 区别

开发者学堂课程【精通 Spring Cloud Alibaba注册中心设计 Ap 与 CP 区别学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/634/detail/1009


注册中心设计 Ap 与 CP 区别


内容简介:

一、 Nachos 与 Eureka 区别

二、面试过程中面试官会问到注册有哪些?


一、 Nachos 与 Eureka 区别

最大区别:

Nachos 支持两种模式 CP/Ap 模式,从 Nachos1.0版本开始,注意模式就是 Ap 模式。首先下列地址是Nachos不同版本升级的具体介绍

https://github.com/alibaba/nacos/releases

就视频中当前最高版本是1.1.4版本(是在2019年10月24日发布的)

现已经更新到2.0.3版本,更新日期为2021年7月28日

(1)1.1.4(2019.10.24)

#182运行状况检查
字段和保护阈值混淆#1409与 Istio 作为服务发现后端
集成#1507建议 shutdown.sh 脚本仅关闭当前目录中的节点,而不是所有节点。
#1665 DataSync 始终未在网络分区
#1671"客户端版本"标头未在来自 nacos 客户端#182运行状况检查
字段和保护阈值混淆#1409与 Istio 作为服务发现后端
集成#1507建议 shutdown.sh 脚本仅关闭当前目录中的节点,而不是所有节点。
在此处设置新的线程池,但不打开通告程序任务,是否添加 executor.execut(new Notifier());

(2)查看1.0.0版本

这是 Nacos 的 GA 版本,可以投入大规模生产环境。

我们在此版本中引入了几个重要的新功能和优化,其中大部分已在以前的 RC 版本中发布。我们花了大约一个月的时间来稳定和优化这个 GA 版本,其中我们修复了几个错误并适应了一些默认行为。我们还进行了压力测试,以测量Nacos的性能和容量。

即将发布一篇文章,介绍 Nacos 1.0.0带来的变化细节,请关注我们的聊天组和邮件列表。

  •  [#1041]Nacos 1.0.0 识别 Nacos 0.8.0 的数据文件
  • [#1033]nacos 控制台实例数和集群数异常。
  • [#1029]nacos dubbo 双重消费者注册错误
  • [#1008]NullPointerException 发生在群集初始化而不设置 dom 时
  •  [#998]将"服务器模式"更改为"实例默认值"
  •  [#986]属性使用可能无法关闭流
  • [#981][通知]Nacos 集群管理在 Apache SkyWalking 中被拒绝实现
  • [#974]ArrayIndexOutOfBoundsException 可能会在调用 taskDispatcher.addTask 时引发
  •  [#973]cluster.conf 文件句柄未释放
  • [#961]"checkTask NPE"在群集未初始化时发生
  • [#948]Api GET /实例应返回 404(如果未找到匹配的 ip)
  • [#946]将默认服务器模式更改为 AP
  • [#938]客户端击败处理器任务丢失
  • [#923]Nacos 1.0.0 兼容 nacos-client 0.5.0
  • [#911]添加保留的元数据键
  • [#910]持久性实例不应发送客户端节拍
  • [#870]关于 Nacos 的命名空间和租户设计
  • [#869]客户端异常消息令人困惑
  •  [#866]BeatInfo 计划属性可能存在内存可见性问题
  • [#865]校验和值不正确
  • [#839]重构 API 网址
  •  [#811]ApiCommands.updateIpPublish countDownLatch 超时问题
  • [#809]实例字段"有效"应弃用并替换为"正常"
  • [#803]纳科斯前端功能回归计划及落地
  •  [#801]Nacos 使用 nignx 作为电流限制的最佳实践文章。
  • [#757]"域"一词应替换为"服务"
  •  [#745]支持 CP、AP 或混合服务器运行模式
  • [#744]应存储和控制服务器的确切状态
  • [#725]nacos 注册表会如何进行多环境部署吗?
  • [#677]支持临时实例和持久实例
  • [#651]删除旧的 API 条目"API命令"
  • [#650]重构服务器列表管理以使其与一致性协议无关
  • [#634]增加全局一键使能开关和数据查询使能开关
  • [#629]服务器数据需要在开放流量之前预热
  • [#502]注册临时实例以及持久性实例
  •  [#501]构建 muilt 集群时运行状况检查模式配置 whit nacos sync + nacos
  • [#479]应使用标准属性语法显示和编辑元数据
  • [#327]通知 ACM 开发工具包 RAM 角色名称并访问配置 ?
  • [#269]需要在命名模块中支持服务组

[#745]持 CP、AP 或混合服务器运行模式的详细介绍:

CP 模式提供强一致性、数据持久性但网络分区容错能力。
AP 模式提供最终一致性和网络分区容错性,但提供数据持久性。
混合模式为某些数据提供 CP,为其他数据提供 AP。

服务级别信息和群集级别信息始终通过 CP 协议进行操作,因此在 AP 模式下无法对其进行编辑。

 

二、面试过程中面试官会问到注册有哪些?

Eureka、Necos、concul、Zookeeper

面试官主要会问到的核心:

1.Eureka 与 Zookeeper 实现注册的区别?

2.Eureka 与 Zookeeper 实现注册的区别?

在明白上述区别之前,需要先了解一些概念:

A. CAP定律概念:

一致性(C):在分布式系统中,如果服务器是集群的情况下,每一个节点同一时刻查询的数据必须保持一致性的问题。

就下图所示,左边的为主,右边的为从。需要先进入到主,在从主进入到从,同步的过程中存在延迟,在保证一致的情况下,主和从都在做读,必须保持他们都是正确的,不能错误,一旦出现错误的情况说明违背了一致性原则。

图片4.png

可用性(A):集群节点中,部分节点出现了故障后仍然可以继续使用

当左侧第一个出现问题后,就可以转移到中间的。

图片5.png

分区容错性(P):在分布式系统中网络存在脑裂的问题,部分的 Serve 与整个集群失去联系无法形成一个群体

在了解分区容错性之前,我们先了解脑裂,假设在 Zookeeper 当中一个zk1,一个zk2,,以及zk3,正常情况下,在这三个中只会有一个节点是主节点,这是一主多从的,但这时有一个 zk2领导,突然有一个网络分区,有时候所在的服务区节点不可能在同一个地区里面,可能跨地区、跨网络,这就会导致在后面两台 zk3、zk3的节点可能访问不到 zk2领导的节点中,这就会导致在整个集群当中有多个集群,这就是一个错误。

所以说分区容错性几乎是无法避免的,在这中结果下,我们只能选择取舍,取舍:只有在 CP/AP 平衡点。

采用:

Cp 情况下 虽然我们服务不能用给,但是必须要保证数据的一致性。

Ap 情况下 可以短暂保证数据不一致性,但是最终可以一致性,不管怎么样,要能够保证我们的服务可用。

一般情况下,大多数的注册中心都是Ap。

相关文章
|
JavaScript 前端开发 C++
【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组省赛真题解析(完整版)
【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组省赛真题解析(完整版)
【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组省赛真题解析(完整版)
|
存储 安全 虚拟化
虚拟化技术:实现资源高效利用和灵活管理的利器
虚拟化技术作为实现资源高效利用和灵活管理的重要手段,在数字化时代背景下,正逐步改变传统IT架构模式。本文概述了虚拟化技术的概念、原理及其在数据中心管理、云计算平台、企业信息化建设、科研教育及医疗行业的应用,并探讨了其面临的挑战与未来发展趋势。
665 3
|
负载均衡 监控 Java
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
26960 8
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
|
存储 人工智能 自然语言处理
Delta-CoMe:清华联合OpenBMB等高校开源的新型增量压缩算法
Delta-CoMe是由清华大学NLP实验室联合OpenBMB开源社区、北京大学和上海财经大学提出的新型增量压缩算法。该算法通过结合低秩分解和低比特量化技术,显著减少了大型语言模型的存储和内存需求,同时保持了模型性能几乎无损。Delta-CoMe特别适用于处理数学、代码和多模态等复杂任务,并在推理速度上有所提升。
344 6
Delta-CoMe:清华联合OpenBMB等高校开源的新型增量压缩算法
|
存储 前端开发 JavaScript
Flux 思想
Flux 是一种用于构建用户界面的应用程序架构,由 Facebook 推出。它通过单向数据流和集中管理的状态来提高应用程序的可维护性和可预测性,主要包含四大组件:Dispatcher、Store、View 和 Action。
|
前端开发 JavaScript 数据管理
什么是单向数据流
什么是单向数据流
440 1
|
前端开发 测试技术 持续交付
如何打造高效的前端工作流
【2月更文挑战第8天】在现代 Web 开发中,前端工作流程变得越来越重要。好的工作流可以使开发人员更加高效地编写代码、测试和部署应用程序。本文将介绍一些使用先进的工具和技术来打造高效的前端工作流的方法。
413 6
|
算法 数据可视化 Python
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
|
机器学习/深度学习 搜索推荐 数据可视化
PyTorch搭建基于图神经网络(GCN)的天气推荐系统(附源码和数据集)
PyTorch搭建基于图神经网络(GCN)的天气推荐系统(附源码和数据集)
482 1
|
设计模式 前端开发 Java
从Langchain到ReAct,在大模型时代下全新的应用开发核心
什么是ReAct框架关于什么是langchain,在使用langchain的过程中,大模型给人留下最深刻的印象无疑是Agent功能。大模型会自己分析问题,选择合适的工具,最终解决问题。这个功能背后的原理就是来自ReAct框架。ReA
20922 2
从Langchain到ReAct,在大模型时代下全新的应用开发核心