分布式系统的三字真经CAP

文章目录

  • 前言
  • C(Consistency 数据一致性)
  • A(Availability 服务可用性)
  • P(Partition Tolerance 分区容错性)
  • CAP理论
  • 最后

前言

你好,我是醉墨居士,我一起探索一下分布式系统的三字真经CAP理论

现实世界上总是充满各种不如意,没办法,我们只能进行权衡和妥协,选择适合自己的人生
完美主义者追求的不是完美的终点,而是在追求过程中收获的成长和进步
分布式系统也是如此,没有完美的分布式系统,只有最适合业务的分布式系统🙂
在这里插入图片描述

C(Consistency 数据一致性)

系统的所有节点在同一时间点看到的数据是一致的

即对于一个写请求,当一个节点写入成功后,其他节点读取到的数据必须是最新的

A(Availability 服务可用性)

系统在任何时候都能够正常进行读写操作,并且能够快速响应用户的请求

即系统没有宕机或处于不可用状态

P(Partition Tolerance 分区容错性)

系统在面对网络故障或节点故障时仍能够正常运行

即系统可以分布部署在多个子网络中,子网络之间可能会发生通信故障,但系统仍能继续运行

CAP理论

CAP理论表示我们只能在 一致性、可用性、分区容错性中三选其二

实际上我们确实可能无法保证让CAP这三个指标,都100%的绝对的完美,即使能在某方面做到100%,这也可能会消耗其它维度的潜力,或者说达到完美CAP的代价大到我们无法接受

但是我们需要在选择其二的前提下,尽可能保证另一维度的级别

所以我们需要根据自身业务的特点,选择合适的模式来服务于业务

最后

我也不清楚是否能够摘下分布式系统的CAP,我想说的是完美主义者所追求的最高境界不过是在不完美的世界中找到完美的自己

我是醉墨居士,我们下篇博客再见🤗

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

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

相关文章

大数据调度框架Oozie,这个学习网站让你事半功倍!

Oozie是一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache。它主要用于管理和调度Apache Hadoop作业,支持的任务类型包括Hadoop MapReduce、Pig Jobs等。 Oozie的核心概念包括workflow jobs和coordinator jobs。Workflow jobs是由多个动作&#…

Jmeter 性能-监控服务器

Jmeter监控Linux需要三个文件 JMeterPlugins-Extras.jar (包:JMeterPlugins-Extras-1.4.0.zip) JMeterPlugins-Standard.jar (包:JMeterPlugins-Standard-1.4.0.zip) ServerAgent-2.2.3.zip 1、Jemter 安装插件 在插件管理中心的搜索Servers Perform…

AIGC视频生成:Pika1.0快速入门详解

Pika1.0快速入门详解 一、简介二、登录三、参数设置1、改变画面大小(Aspect ratio)2、改变帧数大小(Frames per second)3、镜头平移(Camera control)4、画面运动控制(Strength of motion&#x…

永不停止,永远在路上!MIAOYUN 2023年度回顾

2023 MIAOYUN年度关键词:坚持/沉淀/成长 2023年,我们身处虚浮遥荡的世界:支原体肺炎、流感接二连三、经济下行成热词、人人思危;更有暴雨成灾,核污水扩散,战火与地震不断。 坏事发生时,你有三种…

【NLP】多标签分类【上】

简介 《【NLP】多标签分类》主要介绍利用三种机器学习方法和一种序列生成方法来解决多标签分类问题(包含实验与对应代码)。共分为上下两篇,上篇聚焦三种机器学习方法,分别是:Binary Relevance (BR)、Classifier Chain…

绝地求生:【PC】第27赛季第2轮更新公告

各位玩家大家好!欢迎收看本期闲游盒更新公告。 正式服维护时间 ※ 下列时间可能会根据维护情况而发生变化。 1月10日上午8:00 – 下午4:30 地图轮换 ※ 地图轮换将于每周三上午10点进行。 ※ 在随机选择地图的地区中,第1周可选择荣都地图&#xff0c…

Java SE入门及基础(11)

程序调试 1. 什么是程序调试 当程序出现问题时,我们希望程序能够暂停下来,然后通过我们操作使代码逐行执行,观察整个过程中变量的变化是否按照我们设计程序的思维变化,从而找问题并解决问题,这个过程称之为程序调试…

从零开发短视频电商 PaddleOCR Java推理 (一)飞桨引擎推理

文章目录 简介方式一:DJL 飞浆引擎 飞桨模型方式二:ONNXRuntime 飞桨转换后的ONNX模型(Paddle2ONNX) 添加依赖文字识别OCR过程分析文字区域检测文字角度检测文字识别(裁减旋转后的文字区域) 高级替换模型…

MySQL 和 Redis 如何保证数据一致性,通过MySQL的binlog实现

1、简介 MySQL 和 Redis 如何保证数据一致性,目前大多讨论的是先更新Redis后更新MySQL,还是先更新MySQL 后更新Redis,这两种方式在实际的应用场景中都不能确保数据的完全一致性,在某些情况下会出现问题,本文介绍使用 C…

遥感影像-语义分割数据集:高分卫星-云数据集详细介绍及训练样本处理流程

原始数据集详情 简介:该云数据集包括RGB三通道的高分辨率图像,包含高分一、高分二及宽幅数据集。 KeyValue卫星类型高分系列覆盖区域未知场景未知分辨率1m、2m、8m数量12000单张尺寸1024*1024原始影像位深8位标签图片位深8位原始影像通道数三通道标签图…

vivado 使用源文件

使用源文件 概述 源文件包括从AMD IP添加的设计源、知识产权(IP)源目录、RTL设计源、从系统添加的数字信号处理(DSP)源生成器工具和IP子系统,也称为块设计,由IP集成商创建AMD Vivado的功能™ 设计套件。源…

C++11 14 17内存管理

智能指针 unique_ptr 初始化 访问和移动赋值 重置和移动内存资源 自定义删除器 shared_ptr 原理 自定义删除器 分配器allocator和new重载 new表达式原理 operator new delete placement new new (buf) 是一种 "placement new" 的使用方式,它允许在已…

Qt/QML编程学习之心得:Grid、GridLayout、GridView、Repeater(33)

GRID网格用处非常大,不仅在excel中,在GUI中,也是非常重要的一种控件。 Grid 网格是一种以网格形式定位其子项的类型。网格创建一个足够大的单元格网格,以容纳其所有子项,并将这些项从左到右、从上到下放置在单元格中。每个项目都位于其单元格的左上角,位置为(0,0)。…

uniapp 开发小程序的时候使用自定义 tabbar 时出现切换页面闪烁的情况

问题:在使用自定义组件的时候可以看到页面切换明显的闪烁, 这种体验是很不好的, 当然最好的方式就是使用原生导航栏, 不要搞花里胡哨的东西。 来看下体验不好的效果 优化调整 先说思路,就是仍然设置原生 tabbar, 在应用启动的时候主动隐藏原生 tabba…

VS QT 创建新的QT类后,编译报错无法解析的外部符号 “public: virtual struct QMetaObject const *

问题描述: 新建QT的 Widgets 类,创建新的窗口 在编译的时候出现以下报错信息: 1>vfhclassifydialog.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl VfhClassifyDialog::metaObject…

vivado 指定顶部模块和重新排序源

指定顶部模块和重新排序源 文件夹默认情况下,Vivado Design Suite会自动确定设计的顶层添加到的源文件的层次结构和细化、合成和模拟的顺序项目这可以通过右键单击中的“层次更新”设置进行控制“源”窗口的菜单。请参阅中的“源”窗口中的“层次更新”命令Vivado …

Ceph入门到精通-通过 CloudBerry Explorer 管理对象bucket

简介 CloudBerry Explorer 是一款可用于管理对象存储(Cloud Object Storage,COS)的客户端工具。通过 CloudBerry Explorer 可实现将 COS 挂载在 Windows 等操作系统上,方便用户访问、移动和管理 COS 文件。 支持系统 支持 Wind…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -投票帖子管理实现

锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

Java项目:05 停车管理系统

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 课题意义: 随着时代和科技的进步,人们的生活水平越来越高,私家车的数量不断上涨,随之产生了一些问题&…

POI-tl 知识整理:整理1 -> 利用模板向word中写入数据

1 文本传值 Testpublic void testText() throws Exception {XWPFTemplate template XWPFTemplate.compile("D:\\Idea-projects\\POI_word\\templates.docx");Map<String, Object> map new HashMap<>();map.put("title", "Hi, girl"…