注册中心设计 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。

相关文章
|
消息中间件 安全 Java
【RabbitMQ高级篇】消息可靠性问题
【RabbitMQ高级篇】消息可靠性问题
628 0
|
关系型数据库 MySQL Shell
mac安装mysql最新版(v8.0.15),并使用navicat连接本地数据库
mac安装mysql有两种方式,一种是官网下载安装包后安装,另一种是使用终端安装。 参考链接: 1、mac安装mysql,并使用navicat连接本地数据库 2、Mac Navicat 出现 2003 - Can’t connect to MySQL server on ‘127.0.0.1’ (61 “Connection refused”)
1624 0
mac安装mysql最新版(v8.0.15),并使用navicat连接本地数据库
|
9月前
|
编解码
南京观海微电子----DAC/ADC原理
DAC将数字量按权值转换为模拟量,核心由锁存器、电子开关、基准源、权电阻网络和求和电路组成。常见结构有倒T型电阻网络和权电流转换器。ADC则通过取样、保持、量化、编码将模拟信号转为数字量,主要类型包括逐次逼近型、积分型和并行比较型,关键指标有分辨率、转换速率和基准源精度。
南京观海微电子----DAC/ADC原理
|
12月前
|
人工智能 API 监控
告别多接口拼凑!阿里云 API 模型聚合实现技术能力协同跃迁
API聚合整合400+国内外AI模型,统一接口、屏蔽差异,降低开发与维护成本,提升效率与系统稳定性,助力开发者高效应对多API调用困境。
1266 0
|
负载均衡 监控 Java
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
33979 8
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
|
SpringCloudAlibaba 监控 Java
SpringCloud Alibaba微服务-- Sentinel的使用(保姆级)
SpringCloud Alibaba微服务-- Sentinel的使用(保姆级)
|
JavaScript Linux 应用服务中间件
Docker部署Node应用简单实践
本文将从零至一,介绍如何在云服务器上通过 Docker 容器运行一个简单的Node应用。
3337 0
|
敏捷开发 监控 数据可视化
2024 高效办公必备的 5 款可视化看板工具
在数字化时代,可视化看板成为提高工作效率和优化项目管理的关键工具。广泛应用于项目管理、团队协作、生产流程监控和个人任务管理,通过清晰展示进度、任务分配和问题跟踪等信息,促进团队沟通与协作,提升整体效能。文中介绍了五款提升办公效率的可视化办公工具:板栗看板、Wrike、ClickUp、Taiga和Wekan,它们各自具备独特的优点和适用场景,如板栗看板适合团队协作,Wrike功能强大适合大型项目,ClickUp高度可定制,Taiga适用于敏捷开发,Wekan开源灵活。
2227 4
2024 高效办公必备的 5 款可视化看板工具
|
存储 NoSQL 算法
Redis集群,集群的概念 三种主流分片方式1.哈希求余 一致性哈希算法:方案三:哈希槽分区算法问题一Redis集群是最多有16384个分片吗问题二:为什么是16384个,集群扩容:1.新的主节点
Redis集群,集群的概念 三种主流分片方式1.哈希求余 一致性哈希算法:方案三:哈希槽分区算法问题一Redis集群是最多有16384个分片吗问题二:为什么是16384个,集群扩容:1.新的主节点