摘要: 本文及后续文章,Redis版本均是v3.2.8 上篇文章《Redis 数据结构之dict》,我们对dict的结构有了大致的印象。此篇文章对dict是如何维护数据结构的做个详细的理解。 老规矩还是打开Redis的源码,文件dict.c 一、dict数据结构的维护 1、dictCreate - 创建一个 阅读全文
posted @ 2017-05-20 17:49 三石雨 阅读(1226) 评论(0) 推荐(0) 编辑
摘要: 上篇文章《Redis数据结构概述》中,了解了常用数据结构。我们知道Redis以高效的方式实现了多种数据结构,因此把Redis看做为数据结构服务器也未尝不可。研究Redis的数据结构和正确、高效使用,对我们的应用程序会大有裨益。接下来的文章中我们逐个深入理解Redis的数据结构和使用场景。 Redis 阅读全文
posted @ 2017-05-15 10:32 三石雨 阅读(1301) 评论(0) 推荐(0) 编辑
摘要: 一、什么是paxos算法 Paxos 算法是分布式一致性算法用来解决一个分布式系统如何就某个值(决议)达成一致的问题。 人们在理解paxos算法是会遇到一些困境,那么接下来,我们带着以下几个问题来学习paxos算法: 1、paxos到底在解决什么问题? 2、paxos到底如何在分布式存储系统中应用? 阅读全文
posted @ 2016-05-28 14:47 三石雨 阅读(2997) 评论(0) 推荐(0) 编辑
摘要: 为了解决这种分布式一致性问题,前人在性能和数据一致性的反反复复权衡过程中总结了许多典型的协议和算法。其中比较著名的有二阶提交协议(Two Phase Commitment Protocol)、三阶提交协议(Three Phase Commitment Protocol)和Paxos算法。 一、分布式 阅读全文
posted @ 2016-05-28 14:39 三石雨 阅读(803) 评论(0) 推荐(0) 编辑
摘要: 一、MySQL数据库主从同步延迟 要了解MySQL数据库主从同步延迟原理,我们先从MySQL的数据库主从复制原理说起: MySQL的主从复制都是单线程的操作,主库对所有DDL和DML产生的日志写进binlog,由于binlog是顺序写,所以效率很高。 Slave的IO Thread线程从主库中bin 阅读全文
posted @ 2016-05-21 16:12 三石雨 阅读(5010) 评论(0) 推荐(0) 编辑
摘要: 一、存储引擎层面丢失数据 由于在实际项目中,我们往往使用支持事务的InnoDB存储引擎。我们分析InnoDB存储引擎数据丢失: 从上篇的文章《MySQL事务提交过程(一)》和《MySQL事务提交过程(二)》中知道,MySQL默认情况下是开启内部的XA事务和事务的实现方式是基于redo log和und 阅读全文
posted @ 2016-05-21 10:09 三石雨 阅读(18318) 评论(4) 推荐(0) 编辑
摘要: If you specify ON DUPLICATE KEY UPDATE, and a row is inserted that would cause a duplicate value in a UNIQUE index or PRIMARY KEY, MySQL performs an U 阅读全文
posted @ 2016-05-20 18:35 三石雨 阅读(781) 评论(0) 推荐(0) 编辑
摘要: 一、引言 数据一致性的重要性? 分布式领域CAP理论告诉我们,任何一个分布式系统都无法同时满足Consistency(一致性),Availability(可用性), Partition tolerance(分区容错性) 这三个基本需求。最多只能满足其中两项。 但是,一个分布式系统无论在CAP三者之间 阅读全文
posted @ 2016-05-14 13:48 三石雨 阅读(2604) 评论(0) 推荐(0) 编辑
摘要: 一、BASE理论 eBay的架构师Dan Pritchett源于对大规模分布式系统的实践总结,在ACM上发表文章提出BASE理论,BASE理论是对CAP理论的延伸,核心思想是即使无法做到强一致性(Strong Consistency,CAP的一致性就是强一致性),但应用可以采用适合的方式达到最终一致 阅读全文
posted @ 2016-05-14 13:45 三石雨 阅读(7419) 评论(0) 推荐(0) 编辑
摘要: 一、CAP理论概述 一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。 二、CAP的定义 1、Consistency 一致性 一致性指"all nodes see the same 阅读全文
posted @ 2016-05-14 13:44 三石雨 阅读(1042) 评论(0) 推荐(0) 编辑