转自:https://blog.kido.site/2018/11/24/db-and-cache-preface/ 方案一 写流程:先删除缓存,删除之后再更新DB,再异步将数据刷回缓存。如果先更新数据库再更新缓存,更新数据库时,程序访问缓存时还是旧的数据。 读流程:先读缓存,如果缓存没读到,则去读 ...
分类:
数据库 时间:
2019-09-21 12:57:34
阅读次数:
86
工作中,经常会遇到缓存和数据库数据一致性问题。从理论上设置过期时间,是保证最终一致性的解决方案。这种方案下,我们可以对存入缓存的数据设置过期时间,所有的写操作以数据库为准,对缓存操作只是尽最大努力即可。也就是说如果数据库写成功,缓存更新失败,那么只要到达过期时间,则后面的读请求自然会从数据库中读取新 ...
分类:
数据库 时间:
2019-09-18 13:11:28
阅读次数:
102
一、概述 在微服务架构下,虽然我们会尽量避免分布式事务,但是只要业务复杂的情况下这是一个绕不开的问题,如何保证业务数据一致性呢?本文主要介绍同步场景下使用 的`AT模式`来解决一致性问题。 是 阿里巴巴 开源的 一站式分布式事务解决方案 中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 ...
分类:
编程语言 时间:
2019-09-16 09:57:24
阅读次数:
130
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两 ...
分类:
其他好文 时间:
2019-09-15 11:15:35
阅读次数:
95
1:分布式事物的理解: 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务节点上,分布式事务需要保证这些小操作要么全部成功,要么全部失败;本质上来说,分布式事务就是为了保证不 ...
分类:
其他好文 时间:
2019-09-13 15:53:36
阅读次数:
149
编程模型 ●编程模型概述 一个流的数据源从逻辑上来说就是一个不断增长的动态表格,随着时间的推移,新数据被持续不断地添加到表格的末尾。 用户可以使用 Dataset/DataFrame 函数式API或者 SQL 来对这个动态数据源进行实时查询。每次查询在逻辑上就是对当前的表格内容执行一次 SQL 查询 ...
分类:
其他好文 时间:
2019-09-11 10:16:14
阅读次数:
109
在寒假前,完成了Zookeeper系列的前5篇文章,主要是分布式的相关理论,包括CAP,BASE理论,分布式数据一致性算法:2PC,3PC,Paxos算法,Zookeeper的相关基本特性,ZAB协议。今天,完成Zookeeper系列的最后一篇也是最为重要的内容:Zookeeper的典型应用场景的介 ...
分类:
其他好文 时间:
2019-09-10 13:25:46
阅读次数:
103
需求由来 1.Redis高并发的问题 Redis缓存的高性能有目共睹,应用的场景也是非常广泛,但是在高并发的场景下,也会出现问题:缓存击穿、缓存雪崩、缓存和数据一致性,以及今天要谈到的缓存并发竞争。 这里的并发指的是多个redis的client同时set key引起的并发问题。 2.出现并发设置Ke ...
分类:
其他好文 时间:
2019-09-04 09:41:45
阅读次数:
94
首先我们先说下: RDBMS==>(MySql,Oracle,SqlServer等关系型数据库)遵循的原则是:ACID原则(A:原子性。C:一致性。I:独立性。D:持久性。)。 NoSql==> (redis,Mogodb等非关系型数据库)遵循的原则是:CAP原则(C:强一致性。A:可用性。P:分区 ...
分类:
其他好文 时间:
2019-08-31 23:01:22
阅读次数:
129
关键词:pt-table-checksum工具,在线验证主从一致性 【1】pt-table-checksum工具(经常会有环境BUG,有时候死活跑不出来) 应用场景: (1)数据库迁移后验证数据 (2)主从复制出现问题,需要修复 (3)不小心误操作,主从数据库高反了,产生了错误的数据。 (4)定期校 ...
分类:
数据库 时间:
2019-08-31 19:12:11
阅读次数:
120