首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏编程一生

    数据一致性-对账

    一致性分为强一致性和弱一致性。 强一致性的协议和手段主要有:二阶段提交(2PC)、三阶段提交(3PC)、TCC(Try-Confirm-Cancel)补偿型。这里面经常有人把两阶段提交和TCC补偿型混淆。二阶段提交实际上业务逻辑是在提交之前做的,两阶段只是事务控制的两个阶段。而TCC是将业务逻辑分为try、confirm和cancel三个阶段。举个例子:比如一个人要预售苹果,有两种销售策略。一种让用户先付钱,根据用户需求量准备足够的苹果。另一种是让用户先付钱同时声明到时候先到先得,没抢到的就退款。第一种就是二阶段提交,第二种就是TCC。弱一致性在分布式系统中常用的是一种特例:最终一致性。在工作中,最终一致性通常通过补单和对账来解决。补单主要指在运行时同时检查返回值,如果返回值为失败,会重新处理(补单处理)。 对账主要分为两个阶段:数据核对和差错处理。数据核对就是对账中的轧账。注意「轧」这里念「ga」二声。差错处理就是对账中的平账。

    2.1K21发布于 2019-10-25
  • 来自专栏咖啡拿铁

    谈谈数据一致性

    什么是数据一致性 数据一致性这个单词在平常开发中,或者各种文章中都能经常看见,我们常常听见什么东西数据不一致了,造成了一定的损失,赶快修复一下。 一般来说数据一致性我们可以分成三类,时间点一致性,事务一致性,应用一致性。

    3.3K40发布于 2019-10-13
  • 来自专栏java一日一条

    浅析数据一致性

    什么是数据一致性? 在数据有多分副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致,数据内容冲突。 Consistency:一致性,这个和数据库ACID的一致性类似,但这里关注的所有数据节点上的数据一致性和正确性,而数据库的ACID关注的是在在一个事务内,对数据的一些约束。 CAP定理认为,一个提供数据服务的存储系统无法同事满足数据一致性、数据可用性、分区容忍性。 ---- 数据一致性实现技术 Quorum系统NRW策略 这个协议有三个关键字N、R、W。 N代表数据所具有的副本数。 R表示完成读操作所需要读取的最小副本数,即一次读操作所需要参与的最小节点数目。 采用分布式锁服务实现数据一致性,是在操作目标之前先获取操作许可,然后再执行操作,如果其他用户同时尝试操作该目标将被阻止,直到前一个用户释放许可后,其他用户才能够操作目标。

    2.1K11发布于 2018-09-18
  • 来自专栏木东居士的专栏

    浅谈数据一致性

    浅谈数据一致性 |0x00 数据不一致产生的原因 互联网的工程开发,与传统软件相比,往往要面临非常复杂多变的业务场景,这是老生常谈的问题了。 |0x02 解决数据一致性的模式 通过上一阶段理论演进的阐述,可以看出,互联网工程领域往往通过“最终一致性”的方式,来保障数据的一致性。因此接下来提到的解决思路,都是围绕“最终一致性”展开的。 |0xFF 从全局角度再思考 不论是从数据库层面,还是从工程层面,或者是人工兜底层面,数据一致性总有解决的方法,区别只是场景适用性与成本高低的问题。 随着技术发展的越来越快,解决方案手段的不断增加,技术架构解耦就是一种必然的要求,在不同的场景下选用自己最适合的方案,但由此带来的数据一致性问题也将成为技术融合道路上的一个阻碍。

    1.4K30发布于 2020-11-03
  • 来自专栏开源部署

    Hadoop HDFS 数据一致性

    HDFS 会对写入的所有数据计算校验和(checksum),并在读取数据时验证校验和。针对指定字节的数目计算校验和。字节数默认是512 字节,可以通过io.bytes.per.checksum属性设置。通过CRC-32编码后为4字节。

    60310编辑于 2022-06-28
  • 来自专栏喵叔's 专栏

    微服务--数据一致性

    本篇文章讲解微服务数据一致性相关的知识 一、案例 在使用微服务时,存在跨多个服务更新数据库数据的情况。 在我们实际项目中只要涉及数据一致性的问题,就可以分为两种情况: 可实时数据不一致,但最终数据必须一致(最终一致性) 实时数据必须一致 针对这两种情况我们分别来看一下如何解决。 不需要特意处理,即是说服务其崩溃了也没问题,因为消息1还没被标记为已消费,因此可以由其他消费者重新从第5步骤开始执行 8 服务2将消息1标记为已消费失败 MQ有重试机制,会找另一个消费者重新从第5步骤开始 9 小结 解决数据一致性,就是这么简单。

    69620编辑于 2022-09-28
  • 来自专栏有文化的技术人

    Mongo数据一致性浅析

    setParameter replWriterThreadCount=32 在配置文件中指定 setParameter: replWriterThreadCount: 32 oplog示例 cmgo-9t1zzciv _0:PRIMARY> use local switched to db local cmgo-9t1zzciv_0:PRIMARY> db.oplog.rs.find({}).limit(1).pretty , "v" : 2, "op" : "u", "ns" : "component.deploy", "ui" : UUID("a164a9ab "wall" : ISODate("2023-01-03T03:42:56.762Z"), "lsid" : { "id" : UUID("f2ce9e4a-b863

    77120编辑于 2023-08-19
  • 来自专栏Michael阿明学习之路

    ZooKeeper 保证数据一致性

    分布式一致性原理 CAP 原理认为,一个提供数据服务的分布式系统 无法同时满足 数据一致性(Consistency)、可用性(Availibility)、分区耐受性(Patition Tolerance 架构 收到请求后,发送给其他服务器进行表决 如果收到多个,就按时间戳和服务器排序规则进行表决 只有收到多数表决同意时,才会决定执行 表决机制保证只有一个请求会执行,保证一致性 牺牲了部分可用性,换来数据一致性

    42420发布于 2021-09-06
  • 来自专栏li_wait

    打印9*9乘法口诀

    j = 1; j <=i; j++) { printf("%d*%d=%d ", j, i, i * j); } printf("\n"); } return 0; } 打印9* 9乘法口诀表: 从图中看出第四排和第五排没有对齐,要想对齐,可以考虑 printf限定占位符的最小宽度(https://blog.csdn.net/wait___wait/article /details/135287228) 9*9乘法口诀表中最大位数是2,因此设最小宽度为2。

    44910编辑于 2024-10-23
  • 来自专栏架构狂人

    redis 如何保证数据一致性

    为什么会数据不一致 数据一致性:指的是redis缓存跟数据库的数据的一致。假如缓存中没有数据,那么数据库的值必须是最新的。如果缓存中有数据,那么缓存中的值需要跟数据库的值相同。 理解完上述数据一致性的前提,我们看下什么情况下会导致缓存跟数据库的数据不一致。

    1.3K20编辑于 2023-08-16
  • 来自专栏技术杂记

    9

    服务端 /var/log/messages 中会出现类似的日志Aug 25 00:26:02 pptp-server pptpd[10177]: CTRL: Client 103.240.124.15 control connection startedAug 25 00:26:02 pptp-server pptpd[10177]: CTRL: Starting call (launching pppd, opening GRE)Aug 25 00:26:02 pptp-server pppd[10178

    97820编辑于 2022-06-30
  • 来自专栏菜鸟成长学习笔记

    Redis缓存数据一致性分析

    文章主旨 文章前面提到的数据一致性,指的是MySQL与缓存中数据如何保持同步。后面文章也是针对如何去实现数据同步进行分析。

    83831发布于 2021-02-02
  • 来自专栏python全栈教程专栏

    输出9*9口诀

    输出9*9口诀 //题目:输出9*9口诀。 result=2*1 result= 2*2 //第三次打印 i=3 ,j=1,2,3 result=3*1 result=3*2 result=3*3 //一次类推 //第九次打印 i=9, j=1,2,3,4,5,6,7,8,9 result=9*1 9*2 9*3 9*4.........

    48620发布于 2021-10-18
  • 来自专栏Java技术债务

    ClickHouse的数据一致性(七)

    目录 数据一致性的方案 1 手动使用OPTIMIZE(强烈不建议生产上使用) 2 通过 Group by 去重 3 通过 FINAL 查询 数据一致性的方案 查询 CK 手册发现,即便对数据一致性支持最好的

    75020编辑于 2022-08-09
  • mysql和redis数据一致性

    redis逻辑清晰,可控性强代码侵入性大,可能出现数据不一致适用于高并发读写场景Binlog 监听同步解析 MySQL Binlog 并同步到 Redis(如 Canal)自动化同步,降低应用层负担存在延迟,数据一致性需优化高吞吐量业务

    26900编辑于 2025-03-16
  • 来自专栏技术杂记

    Mysql复制数据一致性检查1

    h=replication-check-vm,u=root --ask-pass Enter MySQL password: Checksumming abc_test_db.users: 9%

    36410编辑于 2022-04-23
  • 来自专栏Java技术债务

    redis缓存如何保证数据一致性

    同时有请求A和请求B进行更新操作,那么会出现 (1)线程A更新了数据库 (2)线程B更新了数据库 (3)线程B更新了缓存 (4)线程A更新了缓存

    93230编辑于 2022-08-09
  • 来自专栏技术杂记

    Mysql复制数据一致性检查

    percona 收集整理和维护而成 其中有两个特别有用的工具 pt-table-checksum 和 pt-table-sync ,分别可以用来进行主从一致性检查,和不一致数据修复 下面分享一下Mysql复制数据一致性检查的基本操作

    41810编辑于 2022-04-23
  • 来自专栏蓝天

    向量时钟解决数据一致性

    向量时钟解决数据一致性 向量时钟简介 向量时钟,最早是用于分布式系统中进程间的时间同步。由于在分布式系统中没有一个直接的全局逻辑时钟。 数据一致性(Quorum) 定义 N:系统中数据的备份数 R:读取操作最小成功数 W:写操作最小成功数 要求:R+W>N 配置 R+W>N,保证读操作至少能读取到一个最新数据 读写速度受性能最差的节点影响 R和W越小,系统的响应越快 W越大,数据的一致性,可用性越强 通常:N=3, R=W=2 时钟向量与数据冲突处理 *将上述向量时钟应用到解决数据一致性的问题上来

    94410发布于 2018-08-07
  • 来自专栏高剑林的专栏

    数据一致性和 io 类型

    总结 对于单一的存储系统来说,数据一致性,性能和可靠性是几个矛盾的指标。标准的linux内核在这方面也有些左右为难。比如内核在io失败的情况下,一般会重试(内核设置了5次的重试)。

    4.1K10发布于 2016-09-26
领券