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

redis集群如果保证数据一致性_从CAP理论到分布式一致性协议

140c186e568c89dca5646f54451d6468.png

前言

在分布式开发中,我认为具备CAP理论与了解Raft、Zab等分布式一致性协议是十分有必要的,例如分布式锁的选择,你是选择Redis的主备集群(AP模型)还是选择ZK、etcd(CP模型)呢?

关于分布式锁的文章

从分布式理论到如何做一个生产级别的分布式锁_|-| [- |_ |_ ()-CSDN博客_如何做一个分布式锁​blog.csdn.net
4e60cf7222a8b8e3523937eb76a32862.png

如果不具备这些理论知识,我觉得是无法灵活选择且用好分布式锁的,不同业务场景有不同AP、CP模型的需求,例如为什么Nacos的配置中心使用CP模型,但注册中心却使用AP模型呢?这都是不同的场景有着不同的考量。说了那么多,那么为什么CAP总是在CP与AP之间讨论?接着往下看。

CAP理论

CAP理论是在分布式集群环境下讨论的,为什么分布式集群环境下会存在CAP问题呢?举个例子,假设我们后端存储服务使用Redis中间件,如果只部署一台Redis服务器,那么这台Redis如果挂了,

相关文章:

  • 影像科dsa为什么必须买维修保险_为什么大家对影像科了解得那么少呢?
  • netcore权限控制_lin-cms-dotnetcore.是如何方法级别的权限控制的?
  • 文本框 清空_只需5步,Unity中创建自滚动聊天室文本框
  • java判断是否运行在windows terminal_判断制冷空调系统是否运行正常的5个参数
  • mpa和pis_psig与mpa换算(压力单位换算psi)
  • php环境mysql 5.5安装教程_win7(64位)php5.5-Apache2.4-mysql5.6环境安装
  • mysql分组去掉重复记录_mysql去掉重复数据只保留一条,以及取分组后的一条数据...
  • 查看mysql的位数_如何查看mysql是几位的
  • mysql 视图 行号_MySQL踩坑记之视图添加行号
  • dos 前一个命令_非常实用的几个DOS命令,轻松解决电脑问题
  • shell mysql命令的参数_Linux/Unix shell 参数传递到SQL脚本
  • shell 循环 mysql_shell脚本备份mysql数据库(for循环)
  • swift 路由管理_京东商城订单模块Swift探索
  • 修改图片创建时间_Linux如何查看文件的创建、修改时间?
  • mysql 范式化_Mysql范式与反范式
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • ComponentOne 2017 V2版本正式发布
  • Consul Config 使用Git做版本控制的实现
  • eclipse(luna)创建web工程
  • IDEA 插件开发入门教程
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Python学习笔记 字符串拼接
  • Shell编程
  • text-decoration与color属性
  • Wamp集成环境 添加PHP的新版本
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 运行时添加log4j2的appender
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • #微信小程序:微信小程序常见的配置传值
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • ${ }的特别功能
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (十一)图像的罗伯特梯度锐化
  • (四)汇编语言——简单程序
  • (五)Python 垃圾回收机制
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)德国人的记事本
  • *1 计算机基础和操作系统基础及几大协议
  • .NET 指南:抽象化实现的基类
  • .NET/C# 的字符串暂存池
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .Net语言中的StringBuilder:入门到精通
  • /etc/fstab和/etc/mtab的区别
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体
  • [codevs 1288] 埃及分数 [IDdfs 迭代加深搜索 ]
  • [emacs] CUA的矩形块操作很给力啊
  • [Excel] vlookup函数
  • [GDOUCTF 2023]<ez_ze> SSTI 过滤数字 大括号{等
  • [js高手之路] dom常用API【appendChild,insertBefore,removeChild,replaceChild,cloneNode】详解与应用...