Nginx代理Redis哨兵主从配置的实现

目录
  • 一、环境
  • 二、配置
    • 2.1、方案一(推荐)
    • 2.2、方案二
    • 2.3、方案三

一、环境

Nginx版本:1.21.6
Center7.5及以上或Mas OS
搭建Redis哨兵主从模式
Springboot集成Redis哨兵主从模式

提示:Nginx必须安装upstream模块

二、配置

Nginx配置有三个方案(详见后续内容),其中:方案一将哨兵所有节点使用一个端口对外映射;方案二是每个哨兵端口配置一个对应的映射端口,总体和正常哨兵配置方式无差别;方案三其实就是方案一和方案二的结合体。个人认为其意义不大,有兴趣的小伙伴可以自行尝试。

2.1、方案一(推荐)

# stream模块配置和http模块在相同级别
stream {
    upstream redis {
        server 127.0.0.1:26379 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26380 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26381 max_fails=3 fail_timeout=10s;
    }
    server {
        listen 5432;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis;
    }
}

2.2、方案二

# stream模块配置和http模块在相同级别
stream {
    upstream redis {
        server 127.0.0.1:26379 max_fails=3 fail_timeout=10s;
    }
    upstream redis1 {
        server 127.0.0.1:26380 max_fails=3 fail_timeout=10s;
    }
    upstream redis2 {
        server 127.0.0.1:26381 max_fails=3 fail_timeout=10s;
    }
    server {
        listen 5432;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis;
    }
    server {
        listen 5433;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis1;
    }
    server {
        listen 5434;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis2;
    }
}

2.3、方案三

# stream模块配置和http模块在相同级别
stream {
    upstream redis {
        server 127.0.0.1:26379 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26380 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26381 max_fails=3 fail_timeout=10s;
    }
    upstream redis1 {
        server 127.0.0.1:26380 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26379 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26381 max_fails=3 fail_timeout=10s;
    }
    upstream redis2 {
        server 127.0.0.1:26381 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26380 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26379 max_fails=3 fail_timeout=10s;
    }
    server {
        listen 5432;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis;
    }
    server {
        listen 5433;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis1;
    }
    server {
        listen 5434;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis2;
    }
}

到此这篇关于Nginx代理Redis哨兵主从配置的实现的文章就介绍到这了,更多相关Nginx代理Redis哨兵主从内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • nginx+redis实现session共享

    上一篇我们介绍了nginx实现的负载均衡和动静分离,可看这边. 我们在文章的末尾说到,负载均衡需要面临的一个问题是内存数据的同步.例如:我有A,B两台服务器做了负载均衡,当我在A服务器上执行了登录并且将登录数据存入session的时候,这些session数据只存在于A服务器上,而没有在B服务器上,假如在处理下一个请求的时候,我需要用到session的数据,而不巧的是,这个请求刚好被交由B服务器来处理,这时候就会出现B服务器拿不到session数据的情况,从而造成错误. 这是一个无法避免的问题,有

  • Nginx配置srcache_nginx模块搭配Redis建立缓存系统

    1. nginx模块 --add-module=../modules/ngx_devel_kit-0.2.18 --add-module=../modules/set-misc-nginx-module-0.22rc8 --add-module=../modules/srcache-nginx-module-0.22 --add-module=../modules/redis-nginx-module-0.3.6 --add-module=../modules/redis2-nginx-modu

  • Nginx利用Lua+Redis实现动态封禁IP的方法

    一.背景 我们在日常维护网站中,经常会遇到这样一个需求,为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单.对于黑名单之内的 IP ,拒绝提供服务. 本文给大家介绍的是Nginx利用Lua+Redis实现动态封禁IP的方法,下面话不多说了,来一起看看详细的介绍吧 二.架构 实现 IP 黑名单的功能有很多途径: 1.在操作系统层面,配置 iptables,拒绝指定 IP 的网络请求: 2.在 Web Server 层面,通过 Nginx 自身的 deny 选项 或者

  • nginx+tomcat实现负载均衡,使用redis session共享

    环境准备 1.准备一台nginx服务器 ip192.168.1.133 端口81 安装过程: #首先安装依赖: yum -y install gcc-c++ yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel #注意 : 安装nginx必须使用 root 用户安装 #创建一个nginx目录 mkdir /usr/local/src/nginx #进入到

  • 通过Nginx+Tomcat+Redis实现持久会话

    使用开源web应用solo blog进行项目演示.前端使用Nginx作为负载均衡器,后端Tomcat连接Redis实现session存储.Redis的特点就是可以将session持久化.样才能真正实现后台多个Tomcat负载平衡,用户请求能够发往任何一个tomcat主机. keeplived.zabbix与ansible暂不在本文章的范围当中,会在之后的文章逐一进行讲解 实验架构图 部署环境 CentOS7 Nginx1.10.2 Tomcat7.0 Redis3.2.3 Mariadb 5.5

  • 利用nginx+lua+redis实现反向代理方法教程

    前言 最近因为工作需要,要进行IVR的重构, 我们现在系统接了三家IVR服务商, N个业务, 由于IVR这玩意一般只能外网回调, 而开发环境又不允许外网随便访问, 着实烦人. 所有我们打算重构一把, 封装多家IVR, 对业务透明, 同时回调可以针对多家IVR服务商的不同callid直接转发到当时请求的同学的 开发域名去. 而不同的IVR服务商的callid参数是不同的,有的是在url里面(call_id), 有的则是直接post的json数据(callid), 所以太扯了. 直接用lua处理下,

  • Nginx代理Redis哨兵主从配置的实现

    目录 一.环境 二.配置 2.1.方案一(推荐) 2.2.方案二 2.3.方案三 一.环境 Nginx版本:1.21.6Center7.5及以上或Mas OS搭建Redis哨兵主从模式Springboot集成Redis哨兵主从模式 提示:Nginx必须安装upstream模块 二.配置 Nginx配置有三个方案(详见后续内容),其中:方案一将哨兵所有节点使用一个端口对外映射:方案二是每个哨兵端口配置一个对应的映射端口,总体和正常哨兵配置方式无差别:方案三其实就是方案一和方案二的结合体.个人认为其

  • Docker下redis的主从配置教程详解

    1.拉取redis镜像 docker pull redis 2.启动3个redis容器服务,分别使用到6379.6380.6381端口 docker run --name redis-6379 -p 6379:6379 -d redis docker run --name redis-6380 -p 6380:6379 -d redis docker run --name redis-6381 -p 6381:6379 -dredis 3.查看容器 [tcy@tcy1 ~]$ docker ps

  • springboot 集成redis哨兵主从的实现

    目录 一.环境 二.POM文件 三.application.yml配置 四.reidsTemplate配置 五.单元测试(JUnit4) 一.环境 spring boot 2.3.12.RELEASEJDK 1.8IntelliJ IDEA开发工具Redis哨兵主从搭建 二.POM文件 pom文件其他忽略,只展示和redis有关系统的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif

  • redis的主从配置方法详解

    Linux系统下的redis的主从配置方法非常简单,下面给大家分享一下redis的主从配置方法具体的操作步骤 环境介绍: OS:oracle linux 5.6 redis:redis-2.6.8 master rac1 192.168.2.101 slave    rac2 192.168.2.102 下载地址: http://redis.googlecode.com/files/redis-2.6.8.tar.gz 安装配置主从redis 1. 主节点配置 [root@rac1 opt] t

  • nginx+keepalived 高可用主从配置详解

    本文介绍了nginx+keepalived 高可用主从配置详解,分享给大家,具体如下: 一.系统环境及软件版本 CentOS 6.6 x64 keepalived-1.2.18.tar.gz nginx-1.6.2.tar.gz 主服务器:192.168.38.64 从服务器:192.168.38.66 VIP :192.168.38.100 二.nginx安装 (主从安装一致) 1.安装依赖环境 复制代码 代码如下: yum install gcc gcc-c++ make automake

  • Nginx 代理解决跨域问题多种情况分析

    何为跨域问题 跨域本人经过两天的磨练,大量地翻阅网上资料,通俗地讲,就是,同一ip,同一域名,不同端口下,需要互相访问,需要cookie的传递以及数据的获取. 一般在项目中,前后端完全分离,因此访问的端口号不同,比如:localhost:8090(前端)发送到localhost:8001(后端)请求数据,此时前后端就出现了跨域问题.下面紧接着给大家介绍Nginx 代理解决跨域问题分析,内容如下所示: 当你遇到跨域问题,不要立刻就选择复制去尝试.请详细看完这篇文章再处理 .我相信它能帮到你. 分析

  • Docker下Redis集群(主从+哨兵)安装配置的实现步骤

    目录 一.所有机器拉去镜像 二.主从集群搭建 2.1.redis.cong 文件 2.2.创建本地映射文件夹,并将 redis.conf 放到 /usr/local/redis/conf 文件夹内 2.3.启动redis 2.4.校验redis主从集群安装是否成功 三.开启哨兵模式 3.1.sentinel.conf 配置文件 3.2.创建本地映射文件夹,并将 sentinel.conf 放到 /usr/local/redis-sentinel/conf 文件夹内 3.3.启动 redis-se

  • Redis 哨兵高模式搭建及Java代码配置

    Redis 的下载和安装及遇到问题的解决 准备配置文件 # 配置文件进行了精简,完整配置可自行和官方提供的完整conf文件进行对照.端口号自行对应修改 # 后台启动的意思 daemonize yes # 端口号 port 6380 # IP绑定,redis不建议对公网开放,直接绑定0.0.0.0没毛病 bind 0.0.0.0 # redis数据文件存放的目录 dir /usr/local/redis/data # 开启AOF appendonly yes # 开启集群 cluster-enab

  • Docker配置redis哨兵模式的方法(多服务器上)

    前言 之前学习的redis一直是在单一服务器上运行的,而且是直接部署在服务器上.听说用docker会让配置过程更轻松 (并没有)这次就在用Docker的基础上配置Redis一主一从三哨兵.本篇为配置数据节点,即一主一从两个节点. 条件 三台服务器(因为需要至少三个哨兵保证安全性)[可以在阿里云上租几个小时] 服务器1:8.131.78.18 服务器2:8.131.69.106 服务器3:8.131.71.196 端口号7000.17000已在安全组上放行(阿里云) 环境:centos8.0 安装

  • Redis 哨兵机制及配置实现

    目录 一.为什么 Redis 集群中要有哨兵机制 二.模拟主机挂掉之后,人工切换 三.哨兵机制的原理 四.哨兵机制的实现 一.为什么 Redis 集群中要有哨兵机制 Redis 主从复制有一个缺点,当 master 宕机以后,整个集群的写就会挂掉.因为 redis 本身是不会自动从 slave 中选举出新的 master 的. 我们理想的情况是:当 master 挂掉之后,可以有 slave 迅速补上,自动切换为 master,不影响整个服务. 基于此,引入了 Redis Sentinel(Re

随机推荐