前言 大概几个月之前项目中用到事务,需要保证数据的强一致性,期间也用到了mysql的锁,但当时对mysql的锁机制只是管中窥豹,所以本文打算总结一下mysql的锁机制。 本文主要论述关于mysql锁机制,mysql版本为5.7,引擎为innodb,由于实际中关于innodb锁相关的知识及加锁方式很多 ...
分类:
数据库 时间:
2020-01-22 16:04:06
阅读次数:
90
所有文章 https://www.cnblogs.com/lay2017/p/12078232.html 正文 前面的文章中,我们先了解了2pc,知道了2pc强一致性导致的资源被长时间锁住的问题。而后,我们又了解了3pc,3pc在2pc的基础上增加了超时机制,企图解决强一致性带来的问题,但是超时机制 ...
分类:
其他好文 时间:
2020-01-01 16:50:59
阅读次数:
95
对于缓存和数据库双写,其存在着数据一致性的问题。对于数据一致性要求较高的业务场景,我们通常会选择使用分布式事务(2pc、paxos等)来保证缓存与数据库之间的数据强一致性,但分布式事务的复杂性与对资源的占用问题,使得该处理方式会造成系统性能的降低。对于数据一致性要求没那么高的业务场景,选择分布式事务 ...
分类:
数据库 时间:
2019-12-30 09:22:04
阅读次数:
77
TiDB是PingCAP公司研发的开源分布式关系型数据库,结合了传统的RDBMS和NoSQL的最佳特性。TiDB兼容MySQL,具备「分布式强一致性事务、在线弹性水平扩展、故障自恢复的高可用、跨数据中心多活」等核心特性,是大数据时代理想的数据库集群和云数据库解决方案。UCloud于今年8月将TiDB公有云化并推出UCloudTiDBService,当前使用的TiDB版本为3.0.5。UCloudT
分类:
数据库 时间:
2019-12-27 21:44:28
阅读次数:
82
所有文章 https://www.cnblogs.com/lay2017/p/12078232.html 正文 在讲1pc事务提交协议的时候我们说过,1pc适合单个数据源,如果在分布式场景下需要面对多个数据源的时候它就心有余而力不足了。 两阶段提交协议 1pc的根本问题在于无法协调多个数据源,为此就 ...
分类:
其他好文 时间:
2019-12-27 00:16:22
阅读次数:
56
缓存操作 读缓存 读缓存可以分为两种情况命中(cache hit)和未命中(cache miss): 缓存命中 首先从缓存中获取数据 将缓存中的数据返回 缓存未命中 首先从缓存中获取数据 此时缓存未命中,从数据库获取数据 将数据写入缓存 返回数据 读缓存的的处理由 缓存中有没有数据? 决定,如果缓存 ...
分类:
其他好文 时间:
2019-12-09 11:54:13
阅读次数:
75
CAP原理中,有三个要素: 一致性(Consistency) 可用性(Availability) 分区容忍性(Partition tolerance) CAP原理指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。因此在进行分布式架构设计时,必须做出取舍。而对于分布式数据系统,分区容忍性是基本要 ...
分类:
其他好文 时间:
2019-12-07 23:36:49
阅读次数:
143
Nosql: CAP:C(Consistency):强一致性、A(Availability):可用性、P(Partitio Tolerance):分区容错性 CAP 理论的核心是: 一个分布式系统,不可能同时很好的满足一致性、可用性和分区容错性这三个需求,最多同时只能较好的满足两个。(三进二) 由于 ...
分类:
数据库 时间:
2019-12-04 13:04:43
阅读次数:
109
一、redis简介 Redis是一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件。 它支持多种类型的数据结构,如字符串(String),散列(Hash),列表(List),集合(Set),有序集合(Sorted Set或者是ZSet)与范围查询,Bitmaps,Hyperlo ...
分类:
其他好文 时间:
2019-11-28 18:57:49
阅读次数:
90
from : https://zhuanlan.zhihu.com/p/85660050 场景描述 场景描述 场景描述 场景描述 对于预算扣减/库存扣减类场景,我们需要根据业务对已有预算/库存做减法,拿发券的场景来举例: 需要满足不同的发券需求,运营可配置预算扣减业务 每次请求扣减一定数量的金额,比 ...
分类:
其他好文 时间:
2019-11-21 19:55:45
阅读次数:
91