Eventual Consistency-数据一致性

  • 背景
    • 重试
    • 幂等
    • 状态机
    • 恢复日志
    • 异步校验
    • 重试
  • 可靠消息最终一致性方案
    • 核心流程

背景

分布式事务框架重量级[1]基于XA协议的两阶段提交2PC方案       存在问题:    协议通信带来的高延迟、时间损耗;最终一致性需要使用异步校验兜底[2]基于支付宝的TCC方案[3]基于ebay的消息队列异步去报方案轻量级[1]幂等/重试         恢复不一致数据[2]状态机           [3]恢复日志[4]异步校验评价标准[1]消息可靠性[2]业务侵入
CAP理论       任何联网共享数据系统只能同时满足2个属性。[1]一致性 Consistency         每次读取都会收到最新写入、或者错误                       【可选项】[2]可用性 Avaliability        每个请求都会受到一个不是错误的响应                       【可选项】[3]分区容忍性   Partition Tolerance 节点之间的网络丢弃、延迟任意数量的消息,系统仍可继续运行     【必选项】
Base原则          AP、CP[1]Basically Available 基本可用[2]Soft State           软状态[3]Eventual consistency  最终一致性

重试

同步重试     [1]同步等待,占用系统线程资源[2]流量放大,可能导致系统雪崩
异步重试[1]时间间隔     随其重试次数指数增长[2]重试阈值       超过之后,报警通知可用性保障[0]服务可用性   98%[1]一次重试      99.96%      3个9[2]两次重试      99.9992%    5个9

幂等

定义       相同操作执行多次,同执行一次,产生效果一样。
分类  [1]天然幂等     查询、删除[2]人为幂等        TCP超时重传
实现方案[1]基于记录的悲观锁[2]基于记录版本号、状态机的乐观锁[3]基于数据库唯一索引的去重表[4]基于全局唯一标识token

状态机

恢复日志

异步校验

重试

微服务系统同步调用        TCC     分布式事务异步调用       MQ      可靠消息最终一致性方案

可靠消息最终一致性方案

解决角度[1]可靠消息[2]最终一致性

核心流程

一、上游服务投递消息Step1  Step2Step3Steo4
二、下游服务接收消息三、100%可靠投递消息—上游服务四、100%可靠接收消息—下游服务五、RocketMQ实现方案

Eventual Consistency-数据一致性相关推荐

  1. 最终一致性计算机学,最终一致性(eventual consistency)引

    一致性设计在分布式系统中是一个重要问题.如果一个系统同时使用多个子数据系统来存储与读取数据,就必须设计满足功能需求的一致性定义.如果系统对不同数据子系统进行操作的结果不一致,不但可能会使用户困惑,更可 ...

  2. Rethinking eventual consistency论文部分段落翻译

    这篇论文貌似有两页格式不大友好,导致翻译软件无法识别,现在提供这部分的中文翻译(我也是自己弄的,质量不一定佳,需者自取) 链接: Rethinking eventual consistency论文部分 ...

  3. Nosql数据一致性技术概要

    主要参考, http://highlyscalable.wordpress.com/2012/09/18/distributed-algorithms-in-nosql-databases/, Dis ...

  4. Amazon S3数据一致性模型

    左右Amazon S3有两种类型的数据的一致性模型的: 最后,一致性和读一致性. 有下面几种行为: 1 写一个新的object,然后開始读它.直到全部的变化都传播完(副本),你才干读到它,否则就是ke ...

  5. 架构设计:系统存储(23)——数据一致性与Paxos算法(上)

    今年年初参加一家公司的面试,发生了一件有趣的事情.当我给面试官解释Ceph的运行原理时,提到了Ceph支持POSIX标准(Portable Operating System Interface),面试 ...

  6. 微服务系统中的数据一致性,你都会了吗

    你好,我是看山. 从单体架构到分布式架构,从巨石架构到微服务架构.系统之间的交互越来越复杂,系统间的数据交互量级也是指数级增长.作为一个系统,我们要保证逻辑的自洽和数据的自洽. 数据自洽有两方面要求: ...

  7. 如何保证微服务下的数据一致性?

    目录 1.传统应用的事务管理 1.1 本地事务 1.2 分布式事务 1.2.1 两阶段提交(2PC) 1.2.2 三阶段提交(3PC) 2.微服务下的事务管理 3.实现微服务下数据一致性的方式 3.1 ...

  8. 一致性(Consistency)介绍

    一致性是分布式领域必须面对的主要问题之一.理想的一致性模型是:当一条更新出现时,所有的观察者都能"看到"这个更新.但是该模型在分布式领域很难实现,对应的理论基础是CAP理论.这里讨 ...

  9. HybridTime - Accessible Global Consistency with High Clock Uncertainty

    Amazon's Dynamo [9] and Facebook's Cassandra [13], relax the consistency model,and offer only eventu ...

  10. NoSQL 数据库不应该放弃 Consistency

    谈到 NoSQL,一定会提及一致性(Consistency),按照 CAP 定理,有些 NoSQL 数据库放弃了一致性,但是 NoSQL 放弃是必然的选择吗? 从 1970's,关系型数据库(RDB, ...

最新文章

  1. oracle和mysql存储汉字_mysql和oracle的一个汉字占几个字节
  2. android 足球游戏,足球游戏哪个好玩,安卓单机足球游戏哪个好玩
  3. “大数据与精准营销沙龙”成功在京召开
  4. 两个苹果手机怎么传通讯录_苹果手机怎么导入通讯录?教你换机快速导入
  5. linux diff 补丁,Linux中diff、补丁的用法及介绍
  6. Ubuntu修改open files数
  7. Abaqus 用户子程序 UEL
  8. eclipse开发webservice实例及问题解决
  9. SORPAS-焊接仿真模拟软件
  10. 罗德矢量网络分析仪高效测试软件NSAT-1000
  11. 数字信号处理1——离散时间系统与常见信号(matlab)
  12. NeRF 源码分析解读(二)
  13. panabit之Web认证
  14. idou老师教你学Istio12 : Istio 实现流量镜像
  15. Java随机密码生成器
  16. 安徽新科技计算机学校是高中吗,2021最新安徽高中排名一览表 所以高中学校
  17. 决策树决策算法ID3算法、改进算法C4.5算法和CART算法代码实现
  18. CSS给元素添加边框(样式、颜色、宽度)
  19. 揭秘分享 | 汽车金融细分风控场景和反欺诈策略
  20. excel表格下拉选项怎么设置_让表格美观好看几个Excel设置技巧

热门文章

  1. java实现拉钩网上的FizzBuzzWhizz问题示例
  2. CentOS7添加win7启动项
  3. 各种常用的JSON接口,值得收藏
  4. Kenken Race
  5. 移动通讯市场的视频会议
  6. 线性规划整数规划求解器SCIP的失败使用 与 GLPK的成功使用
  7. 微信订阅号与微信后台服务器的接入不成功,微信团队:微信公众平台重在连接用户和服务...
  8. zabbix日志监控:操作系统、业务系统、文件大小、多行日志
  9. 安徽大学导游系统设计---迪杰斯特拉算法实现
  10. 使用Appium Desktop实现录制脚本