当前位置: 首页 > news >正文

【java八股文】之分布式系列篇

【java八股文】之MYSQL基础篇-CSDN博客

【java八股文】之JVM基础篇-CSDN博客

【java八股文】之Redis基础篇-CSDN博客

【java八股文】之Spring系列篇-CSDN博客

【java八股文】之分布式系列篇-CSDN博客

【java八股文】之Java基础篇-CSDN博客

【java八股文】之多线程篇-CSDN博客

1、什么是CAP BASE理论


1.1 CAP

  • 一致性: 在分布式环境下,一致性是指数据在多个副本之间是否能够保持一致性的特性,等同于所有的节点访问同一份最新数据的副本。在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证数据仍然一致性的状态。
  • 可用性:每次请求都能够保证正确的响应,但是不保证获取的数据为最新的数据。
  • 分区容错性:分布式情况下在遇到任何的网络分区额故障的时候,仍然需要能够保证对外提供一致性和可用性的服务,除非是整个网络环境发生了故障。


1.2 BASE

  • 基本可用:在分布式系统出现故障,允许损失部分的可用性(服务降级、页面降级)
  • 软可用:允许分布式出现中间状态。而且中间状态不影响系统的可用性。这里的中间状态指的是data replication(数据备份节点)之间的数据更新可以出现延迟的最终一致性。
  • 最终一致性:data replications 经过一段时间达到一致性。

2、重点协议CP(ZAB RAFT) AP( Distro)

2.1 强一致性

1、任意时刻,所有的节点数据都是一样的。
2、一个集群需要对外部提供强一致性,所以只要集群内部的某一个数据发生了改变,那么就需要等待集群内其他服务器的数据同步完成后,才能对外部提供访问。
3、保证了强一致性,务必会损耗可用性

2.2 弱一致性

1、系统中的某个数据被更新后,后续对该数据的读取操作可能会得到更新后的数值,也可能会得到更新前的数值
2、即使过来一段时间窗口,后续的读取也不能保证一致性

2.3 最终一致性

1、弱一致性的特殊形式,不保证在任意时刻节点上的同一份数据是相同的,但是随着时间的迁移,不同节点的同一份数据总是在趋向一致性变化
2、存储系统保证在没有新的更新的条件下,最终所有的访问都是最后更新的值

2.4 顺序一致性

1、任意一次读都能读到某个数据的最近一次写的数据
2、对其他节点之前的修改是可见的(已同步)且确定的,并且新的写入建立在已经达到同步的基础上

http://www.lryc.cn/news/280884.html

相关文章:

  • 【CSCV】划分数据集
  • 【面试合集】说说提高微信小程序的应用速度的手段有哪些?
  • uniapp——自定义导航栏的封装
  • Halcon机器视觉和运动控制软件通用框架,24年1月最新版新增UI设计器,插件式开发,开箱即用 仅供学习!
  • WebGL简介以及使用
  • 导轨式信号隔离变送器比例阀门线性驱动器4-20mA/0-5V/0-10V转0-165mA/0-80mA/0-1A/0-2A/0-4A
  • Windows:win11不同分辨率2块屏幕在扩展模式下小屏上边有黑边
  • Jenkins-执行脚本案例-初步认识JenKins的使用
  • Open CV 图像处理基础:(五)Java 使用 Open CV 的绘图函数
  • PostgreSQL之SEMI-JOIN半连接
  • 开发规范及常用工具
  • 238.【2023年华为OD机试真题(C卷)】火星文计算(模拟-JavaPythonC++JS实现)
  • 如何通过openresty 限制国外Ip访问
  • 【Vue2】一个数组按时间分割为【今年】和【往年】俩个数组
  • 解决鸿蒙APP的内存泄漏
  • 云原生专栏大纲
  • robot_framework的robot语法与python脚本之间的语法转换
  • D1675滤波器和缓冲器用于单通道6阶高清视频滤波驱动电路,可提高视频信号性能
  • Java18:网络编程
  • 【Python百宝箱】模拟未见之境:精准工具畅游分子动力学风景
  • Vue 3面试题
  • M-A352AD10高精度三轴加速度计
  • (1)(1.13) SiK无线电高级配置(七)
  • 如何注释 PDF?注释PDF文件方法详情介绍
  • GEE APP——基于PFI纯净森林指数的CCDC-SMA算法的长时序森林监测APP
  • CF1446B Catching Cheaters 题解 DP
  • 用python实现文本/图片生成视频
  • Android Gradle Plugin、Gradle、Android Studio版本关系
  • PyTorch深度学习实战(30)——Deepfakes
  • java 修改JsonObject对象所有的Value类型为String