当前位置:网站首页>多数据中心操作和检测并发写入
多数据中心操作和检测并发写入
2022-08-02 03:36:00 【JavaEdge.】
多数据中心操作
无主复制也适用于多数据中心操作,因其旨在更好的容忍并发写冲突、网络中断和延迟尖峰等。
Cassandra在其默认配置的无主模型都支持跨数据中心操作:副本的数量n包括所有数据中心的节点,在配置中,您可以指定每个数据中心中您想拥有的副本的数量。无论数据中心如何,每个来自客户端的写入都会发送到所有副本,但客户端通常只等待来自其本地数据中心内的法定节点的确认,从而不会受到跨数据中心链路延迟和中断的影响。对其他数据中心的高延迟写入通常被配置为异步发生,尽管配置有一定的灵活性【50,51】。
Riak将客户端和数据库节点之间的所有通信保持在一个数据中心本地,因此n描述了一个数据中心内的副本数量。数据库集群之间的跨数据中心复制在后台异步发生,其风格类似于多领导者复制。
检测并发写入
Dynamo风格DB允许多个客户端对相同K并发写,即使使用严格quorum机制也可能冲突。类似多主复制,但在DynamoDB中,在读修复或数据回传期间也可能产生并发写冲突。
由于网络延迟不稳定或局部失效,请求在不同节点可能不同顺序到达。如图-12显示两个客户机A、B同时向主键X发起写请求:
- 节点1收到A的写入,但由于节点失效,没接收到B的写
- 节点2首先收到A的写,然后接收B的写
- 节点3先接收B的写,然后是A的写

若节点每当接收到新的写请求就简单覆盖原有K,则节点将永久不一致,如图-12,节点2认为X最终值B,而其他节点认为值是A。
副本应收敛于相同值,才能达成最终一致。有人可能希望副本之间能自动处理,但很不幸,大多数实现都很垃圾,若不想丢数据,就得知道很多有关DB内部冲突处理的机制。
边栏推荐
猜你喜欢

Django、Rest framework访问数据库获取数据

shell脚本的基础知识

MapFi paper structure organization

BCS演讲实录 | 未来智安CTO陈毓端精讲《XDR扩展威胁检测响应探索与实践》

el-dropdown(下拉菜单)的入门学习

深蓝学院-视觉SLAM十四讲-第五章作业

Deep Blue Academy - 14 Lectures on Visual SLAM - Chapter 7 Homework

Deep Blue Academy-Visual SLAM Lecture 14-Chapter 6 Homework

普氏分析法-MATLAB工具箱函数

MySQL5.7的安装编译及报错的解决方法
随机推荐
Nexus 5 phone uses Nexmon tool to get CSI information
Django、Rest framework访问数据库获取数据
如何将 DevSecOps 引入企业?
科研笔记(六) 基于环境感知的室内路径规划方法
jetracer_pro_2GB AI Kit系统安装使用说明
ffmpeg推流USB到rtsp
TCP-IP协议整理
Reinforcement Learning (Chapter 16 of the Watermelon Book) Mind Map
科研笔记(八) 深度学习及其在 WiFi 人体感知中的应用(上)
PHP实现阿里云HMAC-SHA1签名方法封装
matlab作图显示中文正常,保存图片中文乱码
企业级的dns服务器的搭建
盒子移动和滚动加载效果练习
ES6中变量的使用及结构赋值
网络 7 层架构
flv文件结构解析
深蓝学院-视觉SLAM十四讲-第五章作业
8款最佳实践,保护你的 IaC 安全!
对周期内时间段是否重叠进行校验
可视水印的实现——2使用图像加法