
redis缓存架构
1、详细讲解redis基础知识,redis 持久化,redis replication架构、redis sentinel 、redis cluster等以redis为技术基础的多级缓存架构。
2、redis多级缓存架构在亿级流量、秒杀等多种应用中的使用。
makyan
1、计算机软件、微服务开发、移动客户端开发。
2、系统架构设计,需求调研、分析、设计,业务架构、技术架构、数据架构设计。
3、具备行业解决方案设计与编写。
4、项目管理。
5、当前互联网研究,针对传统产业转型升级的产业互联网研究,并正在编写《产业互联网》书籍。
展开
-
redis cluster集群架构详解(二十一)-slave自动迁移-实现架构的高可用
5.13. redis cluster实验:slave自动迁移-实现架构的高可用5.13.1 slave的自动迁移原理slave的自动迁移原理 如当前有8个master,每个有1个slave,然后新增了3个slave作为冗余,有的master就有2个slave,出现了salve冗余。如果某个只有一个master的slave挂了,redis cluster会自动迁移一个冗余的slave给那...原创 2020-03-13 00:07:28 · 591 阅读 · 0 评论 -
redis cluster集群架构详解(二十)- redis cluster实验:master水平扩容-支撑海量数据处理
5.12. redis cluster实验:master水平扩容-支撑海量数据处理redis cluster通过master水平扩容来支撑更高的读写吞吐+海量数据。 redis cluster模式下,不建议做物理的读写分离,我们建议通过master的水平扩容,来横向扩展读写吞吐量,并支撑更多的海量数据。 6G内存的redis,在fork类操作的时候很耗时,会导致请求延时的问题,如果...原创 2020-03-13 00:05:18 · 1814 阅读 · 0 评论 -
redis cluster集群架构详解(十九)- redis cluster实验: 多master写入、读写分离、高可用性
5.11.redis cluster实验: 多master写入、读写分离、高可用性 redis cluster,提供了多个master,数据可以分布式存储在多个master上; 每个master都带有slave,自动就做读写分离; 某个master如果出现故障,就会自动将其slave切换成master,达到高可用。5.11.1. 多master的写入-海量数据的分布式存储原理 多ma...原创 2020-03-13 00:01:27 · 1213 阅读 · 0 评论 -
redis cluster集群架构详解(十八)-高可用性与主备切换原理
5.10. 高可用性与主备切换原理 redis cluster的高可用的原理,跟redis replication sentinel类似,过程如下:1、判断节点宕机 如果一个节点认为另外一个节点宕机,那么就是pfail,主观宕机。如果多个节点都认为另外一个节点宕机了,那么就是fail,客观宕机,跟哨兵的原理几乎一样,pfail对应sdown,fail对应odown 。 在cl...原创 2020-03-12 23:57:41 · 1736 阅读 · 0 评论 -
redis cluster集群架构详解(十七)- redis cluster数据分布算法比较-hash算法、一致性hash算法、hash slot算法
5.9. 数据分布算法分布式数据存储的核心算法,数据分布的算法主要有三种算法:hash算法、一致性hash算法、hash slot算法。hash算法 -> 一致性hash算法(memcached使用) -> hash slot算法(redis cluster 使用) redis cluster 用不同的算法,就决定了数据如何分布到这些节点上去。5.9.1. hash...原创 2020-03-12 20:43:05 · 2911 阅读 · 2 评论 -
redis cluster集群架构详解(十六)- redis cluster常用操作-节点的新增、删除、slot导入等常用操作
接上篇文章,5.8.7.set-timeout设置集群节点间心跳连接的超时时间set-timeout用来设置集群节点间心跳连接的超时时间,单位是毫秒,不得小于100毫秒,因为100毫秒对于心跳时间来说太短了。该命令修改是节点配置参数cluster-node-timeout,默认是15000毫秒。通过该命令,可以给每个节点设置超时时间,设置的方式使用config set命令动态设置,然后执行co...原创 2020-03-12 20:35:31 · 2567 阅读 · 0 评论 -
redis cluster集群架构详解(十五)- redis cluster常用命令
5.8. 集群常用命令5.8.1. 集群的重启与删除1.关闭集群的某个节点关闭集群的某个节点,比如关闭端口号为7001的实例:redis-cli -a cyclone -c -h 192.168.75.187 -p 7001 shutdown执行效果如下:关闭之后,使用如下命令可重启redis-server /etc/redis/redis-cluster-7001/7001.c...原创 2020-03-11 16:10:37 · 1688 阅读 · 0 评论 -
redis cluster集群架构详解(十四)- redis cluster 安装
5.7 redis集群安装5.7.1. redis集群配置首先要安装好redis单机版,这里就不多说了。接下来我们先了解redis cluster的重要配置。要想开启Redis Cluster模式,有几项配置是必须的。此外为了方便使用和后续的测试,我还额外做了一些配置:配置项配置说明监听端口port 7001绑定地址bind 192.168.XXX.X...原创 2020-03-11 16:08:13 · 631 阅读 · 0 评论 -
redis cluster集群架构详解(十三)- 通信故障
5.6. 通信故障5.6.1.故障检测集群中的每个节点都会定期地向集群中的其他节点发送PING消息,以此交换各个节点状态信息,检测各个节点状态:在线状态、疑似下线状态PFAIL、已下线状态FAIL。当主节点A通过消息得知主节点B认为主节点D进入了疑似下线(PFAIL)状态时,主节点A会在自己的clusterState.nodes字典中找到主节点D所对应的clusterNode结构,并...原创 2020-03-11 16:05:15 · 385 阅读 · 0 评论 -
redis cluster集群架构详解(十二)- 集群通信
5.5.集群通信5.5.1. 集群发现:MEET最开始时,每个Redis实例自己是一个集群,我们通过cluster meet让各个结点互相握手(handshake)。这也是Redis Cluster目前的一个缺点:**缺少节点的自动发现功能。**组建一个真正的可工作的集群,必须将各个独立的节点连接起来,构成一个包含多个节点的集群。连接各个节点的工作使用CLUSTER MEET命令来完成...原创 2020-03-11 16:03:57 · 1633 阅读 · 0 评论 -
redis cluster集群架构详解(十一)- 数据迁移
5.4. 数据迁移当槽x从Node A向Node B迁移时,Node A和Node B都会有这个槽x,Node A上槽x的状态设置为MIGRATING,Node B上槽x的状态被设置为IMPORTING。MIGRATING状态:1、如果key存在则成功处理。2、如果key不存在,则返回客户端ASK,客户端根据ASK首先发送ASKING命令到目标节点,然后发送请求的命令到目标节点3、...原创 2020-03-11 16:01:48 · 1066 阅读 · 0 评论 -
redis cluster集群架构详解(十)-数据分布及槽信息
5.3. 数据分布及槽信息5.3.1. 槽(slot)概念Redis Cluster中有一个16384长度的槽的概念,他们的编号为0、1、2、3……16382、16383。这个槽是一个虚拟的槽,并不是真正存在的。正常工作的时候,Redis Cluster中的每个Master节点都会负责一部分的槽,当有某个key被映射到某个Master负责的槽,那么这个Master负责为这个key提供服务,至于...原创 2020-03-11 15:55:51 · 768 阅读 · 0 评论 -
redis cluster集群架构详解(九)-redis cluster 总体架构
redis cluster 总体架构:1、在这个图中,每一个redis服务器节点,它们任何两个节点之间都是相互连通的。客户端可以与任何一个节点相连接,然后就可以访问集群中的任何一个节点,对其进行存取和其他操作。2、集群节点属性集群中每个Master node负责存储数据、集群状态,包括slots与nodes对应关系。Master nodes能够自动发现其他nodes,检测failure节点...原创 2020-03-11 15:53:13 · 1390 阅读 · 0 评论 -
redis cluster集群架构详解(八)-redis cluster设计目标
redis 具备Cluster功能后,Redis从一个单纯的NoSQL内存数据库变成了分布式NoSQL数据库,CAP模型也从CP变成了AP。也就是说,通过自动分片和冗余数据,Redis具有了真正的分布式能力。某个结点挂了,因为数据在其他结点上有备份,所以其他结点可以继续提供服务,保证了Availability。然而,也正因为这一点,Redis无法保证曾经的强一致性了。这也是CAP理论要求的,三者只...原创 2020-03-11 15:50:19 · 566 阅读 · 0 评论 -
redis缓存架构详解(七)- 实现 redis 主从架构高可用-redis哨兵架构详解
接上篇文章,使用redis sentinel cluster 实现redis replication高可用,接下来详细讲解redis哨兵集群,本节内容较多,全是干活!4.7. redis 哨兵架构讲解4.7.1. 认识 Sentinelsentinel,中文名是哨兵,目前采用的是sentinel 2版本,sentinel 2相对于sentinel 1,重写了很多代码,主要是让故障转移的机制...原创 2020-03-08 12:09:03 · 496 阅读 · 0 评论 -
redis缓存架构详解(六)- redis 主从架构-redis replication的读写分离架构
接上节文章,本节主要讲解在项目中,如何部署redis replication的读写分离架构4.5. 在项目中部署redis replication的读写分离架构 之前几讲都是在铺垫各种redis replication的原理和知识,包括主从复制、读写分离,但我们怎么去使用,怎么去搭建主从复制、读写分离的环境呢? 一主一从,往主节点去写,在从节点去读,可以读到,主从架构就搭建成功了。...原创 2020-03-08 11:57:33 · 333 阅读 · 0 评论 -
redis缓存架构详解(五)- redis 主从架构-redis replication原理分析
4. redis 主从架构redis replication:实现高并发高可用单台redis的局限性:内存上,单个Redis的内存不宜过大,内存过大会导致主从同步时全量同步时间过长,而且在实例重启恢复时也会消耗很长的数据加载时间,一般控制在10G以内即可。CPU 的利用率上,单个 Redis 实例只能利用单个核心,这单个核心在面临海量数据的存取和管理工作时压力会非常大。单机redis,...原创 2020-03-08 10:54:35 · 991 阅读 · 0 评论 -
redis缓存架构详解(四)-redis数据备份方案及数据恢复容灾演练
3. 数据备份方案及数据恢复容灾演练以上对redis的持久化的原理和操作进行了讲解,但是在企业中,持久化到底是怎么去用得呢?企业级的数据备份和各种灾难下的数据恢复,是怎么做得呢?本节将对redis企业级数据备份方案,以及各种踩坑的数据恢复进行容灾演示。3.1. 持久化的配置策略在企业中,RDB的生成策略,用默认的也可以:save 60 10000 :1分钟内有10000个key值发...原创 2020-03-08 10:23:05 · 597 阅读 · 0 评论 -
redis缓存架构详解(三)-redis持久化-AOF持久化详解
接上节,上节讲解了RDB持久化,接下来我们讲解AOF持久化,并比较两者的优点与缺点。告诉您企业里面怎么做持久化。2.3. AOF持久化 AOF机制对每条写入命令以append-only的模式写入一个日志文件中,在redis重启的时候,可以通过回放AOF日志中的写入指令来重新构建整个数据集。2.3.1. AOF持久化原理AOF持久化原理如下:每当有一个写命令过来时,就直接...原创 2020-03-08 10:12:11 · 432 阅读 · 0 评论 -
redis缓存架构详解(二)-redis持久化-RDB持久化详解
2. redis持久化接下来,我们讲解redis企业级的持久化方案。2.1. redis持久化的意义redis持久化的意义,在于故障恢复。我们部署redis,作为cache缓存的同时,也可以保存一些较为重要的数据。如果redis没有持久化,redis遇到灾难性故障的时候,就会丢失所有的数据。 通过持久化将数据备份一份到磁盘,然后定期同步和备份到一些云存储服务上去,当redi...原创 2020-03-08 10:03:57 · 1208 阅读 · 0 评论 -
redis缓存架构详解(一)-redis基础知识讲解
1. redis基础知识讲解1.1. 单机版redis的安装以及redis生产环境启动方案1.1. 安装单机版redis大家可以自己去官网下载,当然也可以用课程提供的压缩包wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gztar -xzvf tcl8.6.1-src.tar.gzcd /usr/local/tc...原创 2020-03-08 09:55:38 · 799 阅读 · 0 评论