java分布式的ACP是什么

ACP

1、ACP是什么

  1. 一致性(Consistency):在分布式系统中,当更新操作完成之后,所有节点在同一时间看到的数据是一致的。换句话说,对于任何数据的读取,都会得到最后写入的数据。
  2. 可用性(Availability):在任何时间,任何非失败节点必须能够响应客户端的读写请求。
  3. 分区容错性(Partition Tolerance):在网络分区发生时,系统能够继续运行。网络分区是指由于网络问题导致系统内部的节点无法互相通信。

2、CAP理论的核心是:

一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求在网络分区发生的情况下,分布式系统最多只能同时较好的满足两个。

因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:

  • CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
  • CP - 满足一致性,分区容忍必的系统,通常性能不是特别高。
  • AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。

在这里插入图片描述

3、使用ACP的中间件(三个例子)

在这里插入图片描述

3.1 AP架构

当网络分区出现后,为了保证可用性,系统B可以返回旧值,保证系统的可用性。

当数据出现不一致时,虽然A, B上的注册信息不完全相同,但每个Eureka节点依然能够正常对外提供服务,这会出现查询服务信息时如果请求A查不到,但请求B就能查到。如此保证了可用性但牺牲了一致性结论:违背了一致性C的要求,只满足可用性和分区容错,即AP

在这里插入图片描述

3.2 CP架构

当网络分区出现后,为了保证一致性,就必须拒接请求,否则无法保证一致性,Consul 遵循CAP原理中的CP原则,保证了强一致性和分区容错性,且使用的是Raft算法,比zookeeper使用的Paxos算法更加简单。虽然保证了强一致性,但是可用性就相应下降了,例如服务注册的时间会稍长一些,因为 Consul 的 raft 协议要求必须过半数的节点都写入成功才认为注册成功 ;在leader挂掉了之后,重新选举出leader之前会导致Consul 服务不可用。结论:违背了可用性A的要求,只满足一致性和分区容错,即CP

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/23124.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工商注册代理记账——打造专业服务的专业机构

在当今竞争激烈的商业环境中,注册和运营一家公司成为了每一个企业家的重要步骤,这并不是一件容易的事,涉及到的不仅是法律法规的学习,还有各种手续的办理、税务筹划等问题,这个时候,就需要专业的工商注册代…

Flask 学习笔记 总结

python基础 服务端开发编程 第一个是赋值运算,第二是乘法,最后是一个是幂(即a2) a 2 a * 2 a ** 2 Python支持多重赋值: a, b, c 2, 3, 4 这句命令相当于: a 2 b 3 c 4 Python支持对字符串的灵活…

redis常用设计模式

Redis常用的设计模式分为读,写,读写三种 一、概要说明 读操作 Read Through Pattern 读穿透 写操作 以Redis统一视图为准:先更新缓存,后更新数据库。 Write Through Pattern 直写模式(首先将数据写入缓存&#xf…

51建模网3D编辑器:一键为3D模型设置特殊材质

3D设计师要对3D模型设置玻璃或者钻石材质时,操作比较复杂,但是利用51建模网的3D编辑器,不用下载安装软件,在线通过浏览器即可编辑,具有一键设置特殊材质的功能。目前,它支持钻石材质、玻璃材质和水波纹材质…

Java——基础快速过

1.注释,标识符,关键字 1.1注释 单行注释:// 注释内容(用的最多) 多行注释:/* 注释内容*/(不推荐) 文档注释: /** 文档注释 */(常见于方法和类之上描述方法和…

分布式任务队列系统 celery 进阶

通过前面的入门,我们大概了解了celery的工作原理及简单的入门代码示例(传送门),下面进行一些稍微复杂的任务调度学习 多目录结构异步执行 在实际项目中,使用Celery进行异步任务处理时,经常需要将代码组织…

【面试题】创建两个线程交替打印100以内数字(一个打印偶数一个打印奇数)

阅读导航 一、问题概述二、解决思路三、代码实现四、代码优化 一、问题概述 面试官:C多线程了解吗?你给我写一下,起两个线程交替打印0~100的奇偶数。就是有两个线程,一个线程打印奇数另一个打印偶数,它们交替输出&…

Aws EC2,kubeadm方式安装kubernetes(k8s)

版本 docker版本:20.10.25 k8s版本(kubeadm,kubelet和kubectl):1.20.10-0 初始化 # 禁用 SELinux sudo setenforce 0 sudo sed -i s/^SELINUXenforcing$/SELINUXpermissive/ /etc/selinux/config# 关闭防火墙 sudo …

MySQL的联合索引及案例分析

1. 联合索引 关于联合索引的详解参考博客【Mysql-----联合索引和最左匹配】,包含讲解 最左匹配 联合索引失效的情况 不遵循最左匹配原则范围查询右边失效原理like索引失效原理 比较关注的点在于: 对A、B、C三个字段创建一个联合索引(A, …

在线建站流程分析

建站流程是指通过互联网创建一个个人或企业网站的过程。随着互联网的发展,越来越多的人和机构开始意识到网络的重要性,建站成为一种常见的行为。在线建站的流程一般包括以下几个步骤。 首先,选择一个合适的建站平台。目前,有很多在…

前端逆向之查看接口调用栈

一、来源 再分析前端请求接口数据的时候,其中有一个sid不知道是前端如何获取的,一般情况下只需要全局搜搜sid这个字符串或者请求接口的名称就可以了,基本都能找到sid的来源,但是今天这个不一样,搜什么都搜不到 接口地…

面试题------>MySQL!!!

一、连接查询 ①:左连接left join (小表在左,大表在右) ②:右连接right join(小表在右,大表在左) 二、聚合函数 SQL 中提供的聚合函数可以用来统计、求和、求最值等等 COUNT&…

AI论文工具推荐

AI 在学术界的使用情况也比较疯狂,特别是一些美国大学,用 AI 来辅助阅读文献以及辅助写论文的越来越多,毕竟确实可以提高写作效率,特别是在文献综述和初稿生成方面。 但在科研界其实,发现看论文的速度已经赶不上发论文…

“粘土风格”轻松拿捏,基于函数计算部署 ComfyUI实现AI生图

阿里云函数计算 FC 一键部署火爆全球工作流 AI 生图平台—— ComfyUI ,实现更高质量的图像生成,三步轻松完成“黏土”创意AI画作,晒图赢眼部按摩器等好礼! 活动地址: https://developer.aliyun.com/topic/june/fcspma…

编写备份MySQL 脚本

目录 环境准备 增量备份 增量备份和差异备份 完整代码如下 测试脚本是否正常 星期天运行脚本(完全备份) 星期一运备份脚本(增量备份) 星期二备份数据(其他天--增量备份) 星期三备份数据(差异备…

【强烈推荐】四元数与三维旋转

目录 1 强烈推荐讲解四元数与三维旋转的这篇文章,深入浅出2 笔记2.1 复数2.1.1 复数的定义2.1.2 复数的乘法与二维旋转 2.2 三维空间中的旋转2.2.1 角轴2.2.2 旋转的分解 2.3 四元数2.3.1 四元数的定义2.3.2 四元数的乘法2.3.3 四元数与三维旋转2.3.4 三维旋转的矩阵…

数字影像产业园的三大赋能:科技、创新与无限可能

数字影像产业园作为文创产业的重要载体,以科技为核心驱动力,不断推动产业的技术革新和升级。 园区内汇聚了最前沿的数字技术资源,高清摄影设备、虚拟现实技术、人工智能应用等尖端科技在这里得到广泛应用,不仅提升了生产效率&…

能源SCI期刊,中科院4区,审稿快,IF=3.858

一、期刊名称 Frontiers in Energy Research 二、期刊简介概况 期刊类型:SCI 学科领域:能源 影响因子:3.858 中科院分区:4区 三、期刊征稿范围 能源研究前沿出版了整个领域的严格同行评审研究,重点是可持续和环境…

java多线程原理

1.线程创建与启动:通过继承Thread类或实现Runnable接口创建线程,并调用start()方法启动线程。 1.线程状态:线程在其生命周期中有多种状态,包括新建、运行、阻塞、死亡等。了解这些状态以及如何在它们之间转换对于管理线程至关重要…

ICLR 2024 BACKDOOR FEDERATED LEARNING BY POISONING BACKDOOR-CRITICAL LAYERS

寻找后门攻击最有效的网络层。现有的 FL 攻击和防御方法通常关注整个模型。 他们都没有认识到后门关键(BC)层的存在——控制模型漏洞的一小部分层。 攻击 BC 层可达到与攻击整个模型相同的效果,但被最先进 (SOTA) 防御检测到的机会要小得多。…