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

CAP理论的延申--BASE理论

上一篇文章我简单介绍了一下什么是CAP理论,本篇文章讲解一下随着技术的演变,CAP理论是如何发展为BASE理论的。

CAP理论回顾

        首先我们回顾一下CAP理论,CAP理论指得是分布式系统发生网络等故障时,不同节点之间无法同步数据,此时无法保证所有节点都能返回一致的数据。

        解决方案是要么保证数据的一致性,此时未同步数据的节点不返回数据,即不可用;

        要么保证系统的可用性,即不同节点返回数据可能不一致;

BASE理论

        随着现代系统复杂度的提高,只实现一致性或可用性已经无法很好的满足用户的需要;并且随着一些技术的进步,一致性和可用性也并非无法同时使用,此时就提出了BASE理论。

BASE理论是基本可用(Basically Available )、软状态(Soft state)和最终一致性(Eventually consistent )的简称。

        BASE理论是指:通过特殊的手段来权衡一致性和可用性,使系统能够满足基本可用(Basically Available )和最终一致性(Eventually consistent )。

基本可用

        指的是当系统发生故障时,牺牲一部分的可用性,来保证系统能够基本运行;相比正常的系统,区别可能是响应时间变长、服务降级等。

        例如:系统响应时间由正常的0.1s提升至2s;或者由正常的服务响应降级到体验感稍差的服务页面。

软状态

        系统中不同节点的状态可以是暂时不一致的,不要求实时同步,这给系统带来了很大的灵活性和可用性。

最终一致性

        CAP理论中的一致性指的是强一致性,即修改一个节点中的数据之后,查询任意节点的数据都是最新的数据;

        而最终一致性是指:修改一个节点的数据之后,经过一段时间,查询任意节点的数据都是最新的数据;在这段时间中,系统处于软状态,查询的数据可能是旧数据也可能是新数据;但是过了这段时间,系统处于硬状态时,就要保证各节点的强一致了。

        实现最终一致性的方式:消息队列、定时任务、人工补偿等;

结论

        总的来说,BASE理论是通过对一致性和可用性的权衡来使系统的功能更广泛,并且提高了用户的使用体验。

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

相关文章:

  • 【傻呱呱】phpMyAdmin怎样给特定用户授权特定数据库权限?
  • 『VUE』21. 组件注册(详细图文注释)
  • 如何产看SQL 查询的执行时间
  • 计算机网络——路由器构成
  • 架构师之路-学渣到学霸历程-48
  • HappyChart——一款简单好用的专业绘图软件
  • 【Linux】进程信号全攻略(二)
  • redis用法(二)
  • Python-利用os,tkinter库编写一个伪恶意程序文件(Pro版)
  • Oracle视频基础1.4.4练习
  • GOF的C++软件设计模式的分类和模式名称
  • 有向图的完全可达性(有向图搜索全路径的问题) C#DFs
  • 前端开发实现自定义勾选/自定义样式,可复选,可取消勾选
  • 鸿蒙-promptAction.showToast基于PC屏幕底部提示
  • Vert.x,应用监控 - 全链路跟踪,基于Zipkin
  • Rust常用数据结构教程 序列
  • 智慧城市路面垃圾识别系统产品介绍方案
  • 网络安全:构建坚固的数字堡垒
  • LeetCode题练习与总结:打乱数组--384
  • 科技改变生活:最新智能开关、调光器及插座产品亮相
  • 传统RAG流程;密集检索器,稀疏检索器:中文的M3E
  • 基于统计方法的语言模型
  • Flux comfyui 部署笔记,整合包下载
  • 高性能分布式缓存Redis-数据管理与性能提升之道
  • BO-CNN-LSTM回归预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络多输入单输出回归预测
  • DataWind将字符串数组拆出多行的方法
  • try...catch 和then...catch的异同点分析
  • Mit6.S081-实验环境搭建
  • 以太网交换安全:MAC地址漂移
  • STM32实现串口接收不定长数据