Python Django 集成Redis Sentinel(哨兵)集群开发秒杀系统

我们知道秒杀系统最大特点是瞬时高并发、高访问量的系统。我们还要保证它的高可用性。
这里我们采用Python Django 集成Redis Sentinel(哨兵)集群开发秒杀系统。

Redis Sentinel(哨兵)集群
Redis哨兵为Redis集群提供了高可用性。实际上这意味着我们可以使用哨兵模式创建一个可以不用人为干预而应对各种故障的Redis集群部署。可大大提高系统的高可用性。

哨兵模式还提供了其他的附加功能,如监控,通知,为客户端提供配置。

下面是在宏观层面上哨兵模式的功能列表:

  • 监控:哨兵不断的检查master和slave是否正常的运行。
  • 通知:当监控的某台Redis实例发生问题时,可以通过API通知系统管理员和其他的应用程序。
  • 自动故障转移:如果一个master不正常运行了,哨兵可以启动一个故障转移进程,将一个slave升级成为master,其他的slave被重新配置使用新的master,并且应用程序使用Redis服务端通知的新地址。
  • 配置提供者:哨兵作为Redis客户端发现的权威来源,客户端连接到哨兵请求当前可靠的master的地址。如果发生故障,哨兵将报告新地址。

Redis哨兵是一个分布式系统,采用多个哨兵对一个master不再可用达成一致时执行故障检测。这会降低错误判断的概率。即使在不是所有的哨兵都工作时哨兵也会工作,使系统健壮的抵抗故障。

我们课程采用三Redis哨兵集成Redis实例(master和slave)集群来构建秒杀系统的缓存系统。

秒杀系统部署图:

秒杀系统涉及主要技术有:

  • Pytho Django 开发;
  • Django web 页面静态化;
  • Python Redis Sentinel(哨兵)集群开发;
  • Redis 管道、事务实现对秒杀库库的管理;
  • Redis队列对访问流量进行分流;
  • Redis Sentinel(哨兵)集群;
  • Nginx 负载均衡、反向代理等;
  • 高并发的Gunicorn web应用服务;
  • Supervisor管理进程;
  • Django应用部署;
  • 分布式集群部署;
  • ......

    对相关技术有兴趣的,可访问我们的课程51CTO学院:升职加薪视频课程:高并发秒杀系统架构分析设计与开发

原文地址:http://blog.51cto.com/13340781/2091092

时间: 2024-10-12 19:03:41

Python Django 集成Redis Sentinel(哨兵)集群开发秒杀系统的相关文章

Redis Sentinel:集群Failover解决方案(转载)

本文转载自:http://shift-alt-ctrl.iteye.com/blog/1884370 文中的配置例子,还有failover过程中触发的订阅事件具有很好的参考价值. Redis sentinel(哨兵)模块已经被集成在redis2.4+的版本中,尽管目前不是release,不过可以尝试去使用和了解,事实上sentinel还是有点复杂的.   sentinel主要功能就是为Redis M-S(master,slaves)集群提供了1)master存活检测 2)集群中M-S服务监控 3

深入浅出Redis-redis哨兵集群

1.Sentinel 哨兵 Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器. 例如: 在Server1 掉线后: 升级Server2 为新的主服务器: 2.Redis 主从分离 在讲解Sentinel 哨兵集群之前,我们先来搭建一个简单的主从分离(读写分离). 首先,我们

Redis sentinel 哨兵模式集群方案配置

第一个方案是创建 redis cluster,第二种方案就是用哨兵模式来进行主从替换以及故障恢复.兵模式集群方案配置 一.sentinel介绍 Sentinel作用: 1):Master状态检测 2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave 3):Master-Slave切换后,master_redis.conf.slave_redis.conf和sentinel.conf的内容都会发生改变,即mast

(六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)

参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https://blog.csdn.net/qq_28804275/article/details/80938659 下载redis镜像(不带tag标签则表示下载latest版本) docker pull redis 从github 下载最新的redis.conf,注意重要参数 # 端口 port 6379 #

redis 哨兵集群原理及部署

复制粘贴自: https://www.cnblogs.com/kevingrace/p/9004460.html 请点击此链接查看原文. 仅供本人学习参考, 如有侵权, 请联系删除, 多谢! Redis的集群方案大致有三种:1)redis cluster集群方案:2)master/slave主从方案:3)哨兵模式来进行主从替换以及故障恢复. 一.sentinel哨兵模式介绍Sentinel(哨兵)是用于监控redis集群中Master状态的工具,是Redis 的高可用性解决方案,sentinel

Redis主从以及哨兵集群搭建(二)

Redis主从以及哨兵集群搭建 一.前言 Redis主从同步原理同MySQL的主从原理十分相似,而解决Redis单点故障的哨兵机制(sentinel)又同解决MySQL单点故障的MHA十分相似.因此我们在学习Redis时,可以将学习MySQL的知识迁移,这样一来,有利于我们快速掌握Redis主从机制,Redis哨兵集群的搭建.Redis的Sentinel机制大概是这样的.sentinel即哨兵,作用即放哨.开个玩笑,其实哨兵有三个作用:监控.通知和自动故障转移.哨兵是用来监控Redis的mast

【Redis哨兵集群】

目录 开始配置主从复制 开始配置Redis Sentinel @ *** 在开始之前,我们先来看看Redis的主从复制 主从复制原理: 从服务器向主服务器发送SYNC命令. 主服务器接到SYNC命令后,会调用BGSAVE命令,创建一个RDB文件,并使用缓冲区记录接下来执行的所有写命令. 当主服务器执行完BGSAVE命令后,会向从服务器发送RDB文件,而从服务器则会接收并执行这个文件. 主服务器将缓冲区存储的所有写命令发送给从服务器执行. --------- Redis主从复制使用的是RDB备份方

Redis 哨兵集群实现高可用

哨兵的介绍 sentinel,中文名是哨兵.哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能: 集群监控:负责监控 redis master 和 slave 进程是否正常工作. 消息通知:如果某个 redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员. 故障转移:如果 master node 挂掉了,会自动转移到 slave node 上. 配置中心:如果故障转移发生了,通知 client 客户端新的 master 地址. 哨兵用于实现 redis 集群的高可用,本身

Redis三种集群模式-哨兵机制

Redis哨兵机制,一主二从 注:Redis哨兵切换,建议一主多从 一.一主二从 教程步骤:https://www.cnblogs.com/pinghengxing/p/11139997.html 二.哨兵配置(sentinel.conf) 哨兵机制也分单台以及集群,在此我们只构建哨兵集群      cd /usr/software/redis/redis-ms/ 1.创建哨兵目录 /usr/software/redis/redis-ms/sentinel/26001 /usr/software