java cap是什么_分布式CAP是什么?它的原理是什么?
在java开发分布式系统当中,无论如何都绕不过cap理论,那你知道这是一个什么理论吗?它的原理是什么呢?下面跟我一起看看吧。
CAP理论
一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition
tolerance)这三项中的两项。
CAP原理及定义
Consistency 一致性
一致性就是“all nodes see the same data at the same
time”,即更新操作成功并返回客户端完成后,所有节点在同一时间的数据完全一致。
分布式的一致性
对于一致性来说,可以从客户端与服务端两个不同的视角来看。以客户端看来,一致性主要指的是多并发访问时更新过的数据如何获取的问题。从服务端看,则是更新如何复制分布到整个系统,以保证数据最终一致。一致性是因为有并发读写才出现的问题,所以理解一致性相关问题时,需要注意结合考虑并发读写的场景。
客户端角度看来,多进程在并发访问时,已经更新过的数据在不同进程如何获取的不同策略,会决定不同的一致性。对关系型数据库,必须要求更新过的数据都能被后续的访问看到,这是强一致性。
如果你可以容忍后续的一部分或者干脆全部访问不到,就是弱一致性。如果需要经过一段时间才要求访问到更新后数据,则是最终一致性。
Availability可用性
可用性指的就是“Reads and writes always succeed”,也就是服务一直可用,并且是正常响应时间。
一个可用性的分布式系统,它的每一个非故障的节点都必须对每一个请求作出响应。也就是,这个系统使用的任何算法必须最终终止。当同时要求分区容忍性时,这是一个很强的定义:即使是严重的网络错误,每个请求必须终止。
好的可用性主要是指系统能够很好的为用户服务,不出现用户操作失败或者访问超时等用户体验不好的情况。可用性通常情况下可用性和分布式数据冗余,负载均衡等有着很大的关联。
Partition Tolerance分区容错性
分区容错性指的就是“the system continues to operate despite arbitrary message loss or
failure of part of the system”,也就是分布式系统在遇到某节点或网络分区故障的时候,依旧可以对外提供满足一致性和可用性的服务。
分区容错性和扩展性紧密相关。在分布式应用中,有可能会因为分布式的原因导致系统无法正常运转。好的分区容错性要求能够使应用虽然是一个分布式系统,而看上去却好像是在一个可以运转正常的整体。
例:
现在的分布式系统中有某一个或者几个机器宕掉了,其他剩下的机器还能够正常运转满足系统需求,或者是机器之间有网络异常,将分布式系统分隔未独立的几个部分,各个部分还能维持分布式系统的运作,这样就具有好的分区容错性。
以上就是本文的所有内容了,更多java常见问答相关知识请持续关注我们了解吧。
java cap是什么_分布式CAP是什么?它的原理是什么?相关推荐
- Java web小项目_个人主页(2)—— 边缘加速原理与实现
摘自:Java web小项目_个人主页(2)-- 边缘加速原理与实现 作者:丶PURSUING 发布时间: 2021-03-27 14:44:40 网址:https://blog.csdn.net/w ...
- mysql用的cap中哪两个_分布式事务CAP定理和BASE理论
课程总计41课时,从什么是事务讲起,直到分布式事务解决方案,很的0基础基础与提升系列课程.对于难以理解的知识点,全部用画图+实战的方式讲解. 彻底明白事务的四个特性:原子性.一致性.隔离性.持久性,用 ...
- java站群系统_分布式站群系统设计与实现
摘 要: 分析了高等院校构建网站时遇到的普遍问题,提出了文件分布存储.数据集中存储的设计思想,并且在Java EE平台上设计和实现了分布式站群管理系统,其站点分布式部署.高度的代码共享.内嵌的网页编 ...
- Java异构数据翻译器_分布式异构数据,distributed heterogeneous data,音标,读音,翻译,英文例句,英语词典...
补充资料:分布式异构型计算机系统 分布式异构型计算机系统 distributed heterogeneous computer system fenbushi yigOUxing iisuQnji X ...
- java consul服务发现_分布式项目(七)consul 服务注册与发现
说到分布式自然就离不开分布式和微服务的话题,简单聊一下. 微服务是一种软件架构方式,或者说一个一种结构设计风格,它并不是标准,它的逻辑是把一个整体服务按业务拆分成不同独立的服务,降低服务强依赖,消服务 ...
- java tcc事务 例子_分布式事务之TCC事务模型
正文 我们先套一个业务场景进去,如下图所示 那页面点了支付按钮,调用支付服务,那我们后台要实现下面三个步骤 [1] 订单服务-修改订单状态 [2] 账户服务-扣减金钱 [3] 库存服务-扣减库存 达到 ...
- hutool的定时任务不支持依赖注入怎么办_分布式任务调度平台xxljob的内部原理,及在转转的落地实践...
让世界因流转更美好 值此教师节来临之际,衷心祝愿所有的老师教师节快乐,身体健康,幸福平安,工作顺利,桃李满天下.您们辛苦了! 作者简介 · 杜云杰,架构师,转转架构部负责人,负责服务治理.MQ.云平台 ...
- snowflake改进_分布式SnowFlakeID(雪花ID)原理、改进优化
推荐阅读:从远程办公到简历被拒,再到斩获阿里offer,这份PDF功不可没 最近在研究分布式框架的组件和整体设计思路.所有的问题,一旦涉及分布式难度就呈几何倍数的提升.包括最常见的ID生成也是,单机情 ...
- java fft 频谱算法_快速傅里叶变换(FFT)算法原理及代码解析
FFT与DFT关系: 快速傅里叶变换(Fast Fourier Transform)是离散傅里叶(DFT)变换的一种快速算法,简称FFT,通过FFT可以将一个信号从时域变换到频域:FFT(快速傅里叶变 ...
- cap理论具体含义_分布式事务的CAP理论
相关历史文章(阅读本文之前,您可能需要先看下之前的系列 ) 分布式事务「2020年」必学,升职加薪你准备好了吗? 事务的基本概念 事务的四大特性ACID 分布式事务产生的场景 前言 通过前面的学习,我 ...
最新文章
- asp.net input怎么获取值
- 助力视障人士,微软等公司捐赠首批AI有声内容
- 从入职到离职创业,我在谷歌、亚马逊的八年
- Altium Designer唤出关掉的窗口
- 1042: [HAOI2008]硬币购物 - BZOJ
- 克莱姆森大学计算机排名,克莱姆森大学计算机科学computer science专业排名第401~500名(2020THE泰晤士高等教育世界大学排名)...
- 工业界和学术界的思考
- HTTP强制设置状态码
- php 栏目循环,帝国CMS listshowclass循环栏目标签_PHP教程
- 云中漫步 - 3:2013-4-27 微软云体验营北京站
- 【kafka】Timeout of 60000ms expired before the position for partition could be determined
- win10自带的打印机服务器,win10系统开启打印机服务的操作方法
- java实现屏幕截图
- 中国雅虎殒身记:当初说好的独立上市呢?
- springcloud24:分布式事务 Seata处理分布式事务总结篇
- Google 三大论文之——MapReduce
- Mybatis+spring知识点
- LR---Loadrunner11破解方法
- 为什么DCIM在中国市场不给力?
- houdini 函数基础