分布式 分布式系统从理论到实战系列 分布式系统(Distributed System),对于很多初学者来说,听到这个词就会感到畏惧,仿佛觉得这是一类很高深的理论/技术。其实不然,分布式理论本身固然很晦涩,但经过几十年的发展,在工业环境应用中已经较为成熟。 2018-12-03 浏览(6,313) 评论(2) 阅读全文
分布式实战(七)——Redis集群模式实战 Redis从3.0版本开始支持原生的集群模式,即 Redis Cluster。Redis Cluster,主要是针对海量数据下的高并发、高可用场景,海量数据就是说单机Redis无法完全容纳数据,需要进行数据分片。 本章,我就来讲解如何搭建一个3主3从的Redis Cluster。关于Redis Cluster的基本原理,读者可以参考进阶篇中的《分布式框架之高性能:Redis集群模式》。 2019-07-05 浏览(1,395) 评论(0) 阅读全文
分布式实战(六)——Redis哨兵部署实战 关于Redis哨兵模式的原理,我在进阶篇的《分布式框架之高性能:Redis哨兵模式》已经详细讲解过了,不熟悉的读者可以先去了解下。 本章,我将带领大家部署一个3节点的哨兵集群,并介绍如何基于哨兵进行故障转移,以及一些企业级的配置方案。 2019-07-04 浏览(2,068) 评论(0) 阅读全文
分布式实战(五)——Redis读写分离实战 对于一个能够支撑超高并发的大型分布式系统来说,像Redis这类分布式缓存是必不可少。Redis在单机部署的模式下,QPS几乎不可能超过10万+,除非机器配置特别好且Redis操作不太复杂。如果想要提升读写性能,最简单的方式就是做一主多从+读写分离。 2019-07-03 浏览(1,885) 评论(0) 阅读全文
分布式实战(四)——Redis企业级灾备方案 上一章,我讲解了Redis的两种持久化方式的基本配置,那么在生产环境中,Redis的持久化到底该如何运用呢?企业级的数据备份和各种灾难下的数据恢复,又是怎么做的呢?本章,我就通过实战演练,讲一讲企业级Redis灾备方案。 2019-07-02 浏览(2,582) 评论(0) 阅读全文
分布式实战(三)——Redis持久化实战 Redis作为分布式缓存,数据首先是存储在内存中的,但是为了保证数据不丢失,肯定需要将数据持久化到磁盘上。我在分布式进阶篇中的《Redis数据持久化》已经讲过了Redis的持久化原理。Redis一共提供了两种数据持久化方式:RDB、AOF。本章,我将带领大家在先前的1个CentOS节点上搭建单机Redis,然后通过实战讲解Redis的RDB和AOF持久化配置。 2019-07-02 浏览(1,318) 评论(0) 阅读全文
分布式实战(二)——系统环境搭建 为了后续实战演练的方便,本章我将从零开始,一步一步搭建出一个4节点的CentOS集群。后续章节,我们会在这个集群上部署Redis、Nginx、MySQL、Storm等分布式框架。 2019-07-01 浏览(1,698) 评论(0) 阅读全文
分布式实战(一)——系统整体架构 本章,我将对后续章节将要进行实战的系统作一个概述,主要讲解多级缓存架构。多级缓存架构,最核心的其实就是分布式缓存,后续章节,我将带领大家搭建分布式Redis集群,然后引出各种高并发场景下的缓存面临的难题,最后在缓存架构中不断的引入解决这些难题的方案和技术,解决高并发的问题。 2019-06-30 浏览(2,270) 评论(0) 阅读全文
分布式基础(十)——分布式理论之分布式一致性:ZAB协议 Leslie Lamport的 Multi-Paxos 只考虑了如何实现共识,也就是如何就一系列值达成共识,未考虑如何实现各值(也就是操作)的顺序性。最终 ZooKeeper 实现了基于Master/Slave模式的ZAB协议,保证了操作的顺序性,而且,ZAB 协议的实现,影响到了后来的共识算法,也就是 Raft 算法,Raft 除了能就一些值达成共识,还能保证各值的顺序性。 2019-06-29 浏览(943) 评论(0) 阅读全文
分布式基础(九)——分布式理论之分布式一致性:PoW算法 PoW算法,属于拜占庭容错算法中的一种,能容忍一定比例的作恶行为,所以它在相对开放的场景中应用广泛,比如公链、联盟链。而非拜占庭容错算法(比如 Raft)无法对作恶行为进行容错,主要用于封闭、绝对可信的场景中,比如私链、公司内网的 DevOps 环境。 2019-06-28 浏览(2,396) 评论(0) 阅读全文