learn from 从0开始学大数据(极客时间)

文章目录

  • 1. 分布式一致性原理
  • 2. Paxos 算法与 ZooKeeper 架构

1. 分布式一致性原理

CAP 原理认为,一个提供数据服务的分布式系统 无法同时满足 数据一致性(Consistency)、可用性(Availibility)、分区耐受性(Patition Tolerance)这三个条件

  • 一致性:返回最新的数据或者错误,而不是过期的数据
  • 可用性:每次请求都得到响应,但不保证响应的数据是最新的
  • 分区耐受性:即使网络原因导致部分服务器节点丢失或延迟,系统依然可以操作

关于 CAP 原理,更准确的说法是,在分布式系统必须要满足 分区耐受性 的前提下,可用性一致性 无法同时满足

2. Paxos 算法与 ZooKeeper 架构

  • 收到请求后,发送给其他服务器进行表决
  • 如果收到多个,就按时间戳和服务器排序规则进行表决

只有收到多数表决同意时,才会决定执行
表决机制保证只有一个请求会执行,保证一致性
牺牲了部分可用性,换来数据一致性

  • ZooKeeper 提供的 一致性数据服务,用于 选举 集群当前工作的主服务器
  • ZooKeeper 系统的 多台服务器存储相同数据,并且每次数据更新都要 所有服务器投票表决,ZooKeeper 集群的 性能 会随着 服务器数量的增加而下降

ZooKeeper 保证数据一致性相关推荐

  1. php并发扣款,PHP 并发扣款,保证数据一致性(悲观锁)

    业务场景分析 用户购买商品的逻辑中,需要对用户钱包的余额进行查询和扣款 异常:如果同一用户并发执行多个业务进行"查询+扣款"的业务中有一定概率出现数据不一致 Tips:如果没有做限 ...

  2. redis主从复制如何保证数据一致性_面试官:Redis 主从复制时网络开小差了怎么整?...

    上周因为实在太忙就认认真真写了一篇水文,吹了一下自己过去的经历,反响竟然超出了我的预期,并且后台还有读者留言表示想看续集的.哈哈,果然大家还是对水文更有热情. 这期我们继续回到之前的 Redis 话题 ...

  3. mysql数据迁移数据一致性检教6_如何在数据库迁移中保证数据一致性?

    原标题:如何在数据库迁移中保证数据一致性? 作者 | 王斌 译者 | 平川 策划 | 万佳 在分布式系统中,保持数据一致非常困难,而且很容易出错.在本文中,我们将探索一种在迁移期间保持数据一致性的方法 ...

  4. MySQL 在高并发下的 订单撮合 系统使用 共享锁 与 排他锁 保证数据一致性

    原文:MySQL 在高并发下的 订单撮合 系统使用 共享锁 与 排他锁 保证数据一致性 作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe1 ...

  5. RabbitMQ实现多系统间的分布式事务,保证数据一致性

    点击关注公众号,实用技术文章及时了解 一.实验环境 Lunix系统:Centos7.5 安装软件:rabbitmq 开发工具:IDEA 二.实验目的 Rabbitmq实现多系统间的分布式事务,保证数据 ...

  6. mha数据备份_MySQL备份与恢复之保证数据一致性(5)

    在上一篇文章中我们提到热拷贝(MySQL备份与恢复之热拷贝),热拷贝也就是在MySQL或者其他数据库服务在运行的情况下使用mysqlhotcopy命令进行备份.这篇文章我们讲解怎样保证数据一致性.现在 ...

  7. redis主从保证数据一致性

    redis主从保证数据一致性 前言 在redis中为了保证redis的高可用,一般会搭建一种集群模式就是主从模式. 主从模式可以保证redis的高可用,那么redis是怎么保证主从服务器的数据一致性的 ...

  8. elasticsearch 如何保证数据一致性?

    <<ElasticSearch 集群是如何保证数据的一致性和实时性?>> <<Elasticsearch 如何保证数据不丢失?>> <<el ...

  9. Java怎么保证数据一致性_连续调用多个外部系统写接口保证数据一致性的思路...

    概述 某些场景下,我们将业务数据落地之前,是需要先调用外部系统的多个写接口,当这些写接口都操作成功了,我们才将业务数据落地到自己本地的数据库里面.比如说: public void updateProd ...

最新文章

  1. MongoDB(4.0)分片——大数据的处理之道
  2. Fedora install chrome
  3. [C/C++基础知识] 一篇就让你彻底搞懂qsort快速排序的文章
  4. 加拿大文件服务器,加拿大服务器空间
  5. 支援 Chrome 插件:微软 Chromium 内核 Edge 浏览器可以下载啦!
  6. html 手机复制到剪贴板,移动端和pc端的复制到剪贴板功能
  7. python信号处理教程_PhysioNet生理信号处理(五)--WFDB for Python(DEMO)
  8. django “如何”系列4:如何编写自定义模板标签和过滤器
  9. 精品软件推荐 Desktop Central - Free Windows Admin Tools
  10. 智能电话销售机器人源码搭建部署系统电话机器人源码
  11. DeepFool论文解读
  12. uvm_primer ch3 BFM笔记
  13. jQuery添加css样式/动画效果
  14. 要用什么态度去面对生活?
  15. Java一年两年工作经验面试题
  16. 前端使用XLSX导出表格
  17. 2021年初级会计实务会计基本假设、会计基础和会计信息质量要求
  18. 1935 error
  19. 数据挖掘mooc国防科技大学笔记(自留)
  20. SWRM(2022)

热门文章

  1. linux 进程通信机制,linux的进程通信机制小结
  2. charles 安装 ssl_最全面的解决Charles手机抓包的证书问题(步骤非常详细)
  3. python 生成式,迭代器,生成器
  4. 软件自动更新解决方案及QT实现
  5. matlab功能块,Matlab GUI重用功能块
  6. framebuffer驱动详解0——framebuffer介绍
  7. shell脚本while read line的使用
  8. POJ 3461Oulipo KMP模板
  9. (机器学习/计算机视觉/深度学习)代码
  10. 在数据库中, 不用max()/min()找出一个列中最大/最小值的记录