分布式一致性分布式场景下,多个服务同时对服务一个流程,比如电商下单场景,需要支付服务进行支付、库存服务扣减库存、订单服务进行订单生成、物流服务更新物流信息等。如果某一个服务执行失败,或者网络不通引起的请求丢失,那么整个系统可能出现数据不一致的原因。上述场景就是分布式一致性问题,追根到底,分布式一致性的根本原因在于数据的分布式操作,引起的本地事务无法保障数据的原子性引起。分布式一致性问题的解决思路有
分类:
其他好文 时间:
2020-06-06 09:16:57
阅读次数:
59
一、三大范式 1、第一范式:原子性 保证每一列不可再分 2、第二范式:在满足第一范式的前提下,每张表只能描述一件事情 3、第三范式:在满足第一第二范式的前提下,第三范式需要确保数据表中的每一列数据都和主键直接相关,不能间接相关。 规范数据库的设计:规范性和性能的问题 阿里规范:关联查询的表不得超过三 ...
分类:
数据库 时间:
2020-06-05 17:59:28
阅读次数:
75
QAQ。。水稻前两天研究完MySQL的事务,今天看到了Redis,也产生了兴趣。准备下手看看 小白:水稻哥,你在看啥呢,这么专注 水稻:在看Redis的事务,有点收获 小白:真的吗?科普一下呗! 水稻:嗯,从与MySQL的不同点开始说,Redis的事务不支持事务的原子性,事务内的一组操作并不支持异常 ...
分类:
数据库 时间:
2020-06-02 23:02:46
阅读次数:
101
一、事务四大属性 分别是原子性、一致性、隔离性、持久性。 1、原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 2、一致性(Consistency) 一致性是指事务必须使数 ...
分类:
数据库 时间:
2020-06-02 19:10:12
阅读次数:
58
引用学习(狂神说) 谈谈你对 volatile 的理解 Volatile 是 Java 虚拟机提供的轻量级的同步机制 它的3个特性: 1、保证可见性 2、不保证原子性(原子性就是任务要么完整执行,要么都不执行) 3、禁止指令重排 深刻理解volatile的3个特性 1、保证可见性 上面代码中程序不是 ...
分类:
其他好文 时间:
2020-06-01 23:40:03
阅读次数:
70
该文章借鉴了不同平台对知识点的描述。 1、存储引擎的区别 1.1 InnoDB 和MYISAM 存储引擎的区别? InnoDB: InnoDB 存储引擎支持事务、支持外键、支持非锁定读、行锁设计其设计主要面向OLTP 应用。 InnoDB 存储引擎表采用聚集的方式存储,因此每张表的存储顺序都按主键的 ...
分类:
数据库 时间:
2020-06-01 15:28:44
阅读次数:
118
title: 基于redis实现分布式锁 date: 2020-06-01 12:00:30 tags: - [redis] - [分布式锁] categories: - [高并发] permalink: zxh prefix: redis 系统的不断扩大,分布式锁是最基本的保障。与单机的多线程不一 ...
分类:
其他好文 时间:
2020-06-01 10:23:59
阅读次数:
73
CAS和AtomicInteger AtomicInteger用来保证自增原子性,它的实现是基于CAS(比较和交换)的。 CAS(CompareAndSwap):判断内存某个位置的值是否与预期值一致,如果是则更改为新值,这个过程是原子的。不会造成数据不一致的问题。 compareAndSet(exc ...
分类:
其他好文 时间:
2020-05-31 16:17:58
阅读次数:
81
1 """ 2 线程通信的生产者与消费者 3 python的queue模块中提供了同步的线程安全的队列类,都具有原子性,实现线程间的同步 4 Queue (FIFO: fist in fist out) 5 LifoQueue (LIFO: last in fist out) 6 PriorityQ ...
分类:
编程语言 时间:
2020-05-31 11:24:17
阅读次数:
67
在数据量较小的情况下可是使用mongodump进行备份,数据大的情况下可以使用复制集的延迟备份,云服务器的磁盘快照进行备份。也要保证备份数据的安全性。
分类:
数据库 时间:
2020-05-27 20:20:12
阅读次数:
89