美文网首页
Redis哨兵模式实现网站限流

Redis哨兵模式实现网站限流

作者: 守住阳光 | 来源:发表于2018-11-19 19:54 被阅读0次

一、Redis介绍

        Redis是一个开源的使用C语言编写,支持网络,可基于内存亦可持久化的日志型、key-value 数据库,并提供多种语言的API。

        1、Redis的特性

        速度快,持久化,支持多种数据结构,支持多种编程语言,功能丰富,主从复制,高可用及分布式。

        2、 Redis的应用场景

        Redis是一个开源。内存存储的数据结构服务器,可用作数据库,高速缓存和消息代理。采用单进程单线程模型,并发能力强大。是当前互联网架构中主流的分布式缓存工具。

二、什么是高可用及Redis的实现方法

        高可用一般指服务器的冗余,一个服务器挂了,可以自动切换到另外一个服务器上,不影响客户使用。

        Reids如何提供高可用:

        主从,哨兵,分布式集群。

三、 Redis 主从模式实现高可用

        1、主从模式网络拓扑图

主从模式网络拓扑图

        主节点(master)工作,从节点数据备份。

        web应用连接到redis主节点进行工作。

        主节点将变化的数据同步给从节点。

        主节点宕机,开发人员手动将 redis.properties 修改为将要成为主节点的从节点的配置。

        手动将其中一台从节点修改为主节点,并重启。

        从上面的步骤来看,主从模式在主节点宕机时,需要进行手动修改配置文件,把从节点变成主节点,开发人员需要修改配置文件。

四、哨兵模式实现高可用

        1、哨兵模式网络拓扑图

哨兵模式网络拓扑图

        添加3个sentinel哨兵节点(奇数个),配置好监听的redis。

        web应用的 redis.properties 直接连接哨兵的 ip 和端口。

        应用向哨兵询问 redis 主节点的 ip 和端口,执行业务操作。

        当master主节点挂机后,哨兵自动把从节点切换为主节点,无需人工干预。

        从上面的步骤可以看到,哨兵模式不需要修改配置文件,即可实现高可用。

五、Redis哨兵模式实现网站限流

        1、业务场景

        对于系统或平台而言,被终端攻击是一件不可避免的事情:

        短时间多次操作系统;

        重复操作导致缓存击穿甚至雪崩。

        2、解决方案

        (1)在 nginx 层拦截,防止多次提交。

        (2)在 nginx 层+lua+redis做拦截,防止多次提交。

        (3)在业务层面拦截,防止多次提交。

        3、在业务层面拦截的解决方案

        使用 Inteceptor 和 Redis。

        1、当用户访问时,以ip或username+日期作为键,访问次数作为值,将其加入缓存,并设置过期时间。

        2、如果没有达到一段时间内访问次数的阈值,每次访问将键值加1。

        3、如果在过期时间内超过访问次数的阈值,直接返回并提示用户。

        

        

相关文章

  • Redis哨兵模式实现网站限流

    一、Redis介绍 Redis是一个开源的使用C语言编写,支持网络,可基于内存亦可持久化的日志型、key-val...

  • Redis -- 实战篇

    一、基于Docker启动一个Redis服务 二、实现Redis主从模式 三、实现Redis哨兵模式 四、实现Red...

  • redis的哨兵模式和集群模式

    哨兵模式 哨兵模式是redis高可用的实现方式之一使用一个或者多个哨兵(Sentinel)实例组成的系统,对red...

  • 实现Nginx负载均衡、Session共享、Redis集群(二)

    感谢博主:spring整合redis(哨兵模式)Redis高可用集群-哨兵模式(Redis-Sentinel)搭建...

  • Redis缓存高可用集群

    1、Redis集群方案比较 哨兵模式image.png在redis3.0以前的版本要实现集群一般是借助哨兵sent...

  • redis高可用集群搭建与原理分析

    Redis集群方案比较 哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控m...

  • Redis哨兵模式高可用解决方案

    一、序言 Redis高可用有两种模式:哨兵模式和集群模式,本文基于哨兵模式搭建一主两从三哨兵Redis高可用服务。...

  • redis(二)

    雪崩 Redis 高可用,主从+哨兵,Redis cluster,避免全盘崩溃。再加一层本地缓存。限流:dubbo...

  • redis集群搭建

    安装redis; 哨兵原理介绍 Sentinel 哨兵,上其他网站很多 配置主: redis-cli --clus...

  • Redis sentinel 学习

    定义 Redis sentinel称为哨兵模式,是Redis 高可用的实现方法,具有故障发现,故障自动转移,配置中...

网友评论

      本文标题:Redis哨兵模式实现网站限流

      本文链接:https://www.haomeiwen.com/subject/rygafqtx.html