Redis Predixy 集群

news2025/7/13 0:31:00

文章目录

    • 一、概述
    • 二、测试规划
    • 三、Redis 服务实例准备
      • 3.1 配置Redis实例
      • 3.2 创建相关资源
      • 3.2 启动Redis服务实例
    • 四、Sentinel 监控准备
      • 4.1 配置 sentine l
      • 3.2 开启 Sentinel
    • 五、安装配置 Predixy
      • 5.1 下载 Predixy
      • 5.2 配置 Predixy
      • 5.3 启动 Predixy 代理
    • 六、测试

如果您对Redis的了解不够深入请关注本栏目,本栏目包括Redis安装,Redis配置文件说明,Redis命令和数据类型说明,Redis持久化配置,Redis主从复制和哨兵机制,Redis Cluster(集群)配置。

一、概述

  • Predixy 是一个开源的代理软件,通常用于提供 Redis 数据存储的高可用性和负载均衡。它的主要用途是充当 Redis 代理,通过分布式代理和负载均衡来管理和优化 Redis 集群的性能和可用性和安全性。适用于需要大规模部署 Redis 数据存储的应用程序,特别是对于需要负载均衡和高可用性的情况。

  • 我在前面讲过Redis Cluster 集群配置,那么即然官方自带了 Redis Cluster 为什么还要使用 Predixy 呢?因为 Predixy 还有 Redis Cluster 没有的功能,如下:

    • 多种部署:Redis Cluster 只支持一种特定的哈希分片架构,而 Predixy 可以适用于多种部署拓扑。而且增加Redis群集后应用程序代码无需修改,就连配置都不修改。
    • 动态的负载均衡:根据实时的节点状态和负载情况,Predixy 智能地将请求路由到最佳的 Redis 节点,以实现负载均衡。
    • 故障转移:当节点发生故障时,Predixy 可以自动检测并将请求重新路由到可用的节点,实现故障转移。
    • 读写分离:Predixy 支持读写分离的配置。它可以将读操作路由到从节点,以分担主节点的负载,并提高读取性能。同时,写操作仍然会路由到主节点,以确保数据的一致性。
    • 其他功能:Predixy 提供了一些额外的功能,如请求重试、请求限流、缓存、请求日志等。这些功能可以增强 Redis 的性能、安全性和稳定性。
  • 开源地址:https://github.com/joyieldInc/predixy

二、测试规划

  • 我这里在同一主机上开启4个Redis服务实例(2主2从),3个Redis Sentinel服务来测试(监控2主2从),示意图如下:
    在这里插入图片描述

三、Redis 服务实例准备

3.1 配置Redis实例

  • 新建4个Redis配置文件,用于配置2主2从Redis服务实例节点。分别为:redis_6391.conf、redis_6392.conf、redis_6393.conf、redis_6394.conf

  • redis_6391.conf

include redis.conf

port 6391
dir /var/lib/redis/6391
pidfile /var/run/redis_6391.pid

supervised no
daemonize no
logfile ""
appendonly no
  • redis_6392.conf
include redis.conf

port 6392
dir /var/lib/redis/6392
pidfile /var/run/redis_6392.pid

supervised no
daemonize no
logfile ""
appendonly no

replicaof 127.0.0.1 6391
  • redis_6393.conf
include redis.conf

port 6393
dir /var/lib/redis/6393
pidfile /var/run/redis_6393.pid

supervised no
daemonize no
logfile ""
appendonly no
  • redis_6394.conf
include redis.conf

port 6394
dir /var/lib/redis/6394
pidfile /var/run/redis_6394.pid

supervised no
daemonize no
logfile ""
appendonly no

replicaof 127.0.0.1 6393

3.2 创建相关资源

mkdir -p /var/lib/redis/6391
mkdir -p /var/lib/redis/6392
mkdir -p /var/lib/redis/6393
mkdir -p /var/lib/redis/6394

3.2 启动Redis服务实例

  • 启动2个Redis主从服务实例
# 主节点1,端口6391
redis-server redis_6391.conf
# 从节点1,端口6392
redis-server redis_6392.conf

# 主节点2,端口6393
redis-server redis_6393.conf
# 从节点2,端口6394
redis-server redis_6394.conf

四、Sentinel 监控准备

  • 配置 sentinel 监控上面的两个Redis主从。

4.1 配置 sentine l

  • sentinel_26391.conf
port 26391
sentinel monitor shard001 127.0.0.1 6391 2
sentinel monitor shard002 127.0.0.1 6393 2
  • sentinel_26392.conf
port 26392
sentinel monitor shard001 127.0.0.1 6391 2
sentinel monitor shard002 127.0.0.1 6393 2
  • sentinel_26393.conf
port 26393
sentinel monitor shard001 127.0.0.1 6391 2
sentinel monitor shard002 127.0.0.1 6393 2

3.2 开启 Sentinel

redis-sentinel sentinel_26391.conf
redis-sentinel sentinel_26392.conf
redis-sentinel sentinel_26393.conf
  • 也可通过这种方式启动:redis-server sentinel_6379.conf --sentinel

五、安装配置 Predixy

5.1 下载 Predixy

  • 下载安装 Predixy
wget https://github.com/joyieldInc/predixy/releases/download/1.0.5/predixy-1.0.5-bin-amd64-linux.tar.gz
tar -zxvf predixy-1.0.5-bin-amd64-linux.tar.gz
cd predixy-1.0.5
cp conf/predixy.conf conf/predixy.conf.bk
cp conf/sentinel.conf conf/sentinel.conf.bk

5.2 配置 Predixy

  • 修改 Predixy 的配置文件:vi conf/predixy.conf

    • 配置端口和哨兵配置文件(sentinel.conf)
    # 修改以下内容
    
    Bind 127.0.0.1:7617
    
    ################################### SERVERS ####################################
    # Include cluster.conf
    Include sentinel.conf
    # Include try.conf
    
    
  • 修改 Predixy 的哨兵配置文件(sentinel.conf):vi conf/sentinel.conf

    • 注意这个不是Redis自带的sentinel.conf,而是 Predixy 配置文件目录的 sentinel.conf
    # 添加以下内容
    
    SentinelServerPool {
        Databases 16
        Hash crc16
        HashTag "{}"
        Distribution modula
        MasterReadPriority 60
        StaticSlaveReadPriority 50
        DynamicSlaveReadPriority 50
        RefreshInterval 1
        ServerTimeout 1
        ServerFailureLimit 10
        ServerRetryTimeout 1
        KeepAlive 120
        Sentinels {
            + 127.0.0.1:26391
            + 127.0.0.1:26392
            + 127.0.0.1:26393
        }
        Group shard001 {
    
        }
        # 可以直保留一个组,只有一个组时才能使用事务。
        Group shard002 {
        }
    }
    
    

5.3 启动 Predixy 代理

  • bin/predixy conf/predixy.conf
    

六、测试

  • redis-cli -p 7617
    

[root@yiqifu-redis conf]# redis-cli -p 7617
127.0.0.1:7617> set aaa 111
OK
127.0.0.1:7617> set bbb 222
OK
127.0.0.1:7617> set ccc 3333
OK
127.0.0.1:7617> watch ccc
(error) ERR forbid transaction in current server pool
127.0.0.1:7617> multi
(error) ERR forbid transaction in current server pool
127.0.0.1:7617>

  • 测试发现不能进行事务和监控操作,这是他的缺点。但是他有扩展方便、动态负载均衡、故障转移、读写分离等功能。还有 Predixy 的集群可以使用Nginx反向代理来实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1158744.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快手协议算法最新版

快手的协议分析是指对快手算法系统进行分析,以了解其推荐内容和个性化用户体验的机制。 然而,一般来说,协议分析的目标是理解算法系统中各个组成部分的功能和作用,以及它们之间的相互关系。以下是一些常见的分析方向:…

Jmeter之JSR223

一、JSR223组件 JSR是Java Specification Requests的缩写,意思是Java规范提案。JSR已成为Java界的一个重要标准. JSR223其实包含了有好几种组件,但是其用法都是一致的,并且都是执行一段代码,主要分类如下: JSR223 PreProcessor JSR223 Timer JSR223 S…

高防CDN如何在防护cc上大显神通

高级防御CDN(Content Delivery Network)在对抗CC(HTTP Flood)攻击方面扮演着关键的角色,具备以下重要职能和作用: 流量分散:CC攻击的目标是通过大规模的HTTP请求使服务器过载,从而导…

【Docker】十分钟完成mysql8安装,你也可以的!!!

十分钟完成mysql8安装,你也可以的 前言安装步骤1.创建安装目录2.创建docker-compose.yml3.启动容器4.mysql开启远程连接5.连接mysql 总结 前言 本文基于Docker安装mysql:8.0.29,首先确保系统安装了docker和docker-compose。 没有使用过docker朋友可以去…

flink的安装与使用(ubuntu)

组件版本 虚拟机:ubuntu-20.04.6-live-server-amd64.iso flink:flink-1.18.0-bin-scala_2.12.tgz jdk:jdk-8u291-linux-x64.tar flink 下载 1、官网:https://flink.apache.org/downloads/ 2、清华镜像:https://mirr…

vue3+vite实现一个后台管理框架,毒蘑菇后台管理。

写后台管理的项目写了很多个了,虽说用的别人的模板,自己专注于自己的业务,保证自己的业务不出错就行了,但是自定义配置又不好去配置,大家用的模板都差不多,用模板自带的业务功能呢后台又得是模板自带的&…

Linu之VM及WindowsServer安装

# 1.操作系统 ## 1.1.什么是操作系统 操作系统(Operating System,简称OS)是一种系统软件,它是计算机硬件和应用软件之间的桥梁。它管理计算机的硬件和软件资源,为应用程序提供接口和服务,并协调应用程序的…

算法通过村第十八关-回溯|青铜笔记|什么叫回溯(后篇)

文章目录 前言回溯热身问题输出二叉树的所有路径:路径总和问题: 总结 前言 提示:今夜思量千条路,明朝依旧卖豆腐。 --谚语 回溯是非常重要的算法思想之一,主要解决一些暴力枚举也搞不定的问题(这里埋个坑&a…

Ubuntu 20.04设置虚拟内存 (交换内存swap)解决内存不足

数据库服务器程序在运行起来之后,系统内存不足。 在系统监控中发现,当数据库服务程序启动后,占用了大量内存空间,导致系统的剩余的内存往往只有几十MB。 在ubuntu系统中,swap空间就是虚拟内存,所以考虑在磁…

2017年第三届 美亚杯电子取证 个人赛题解

记录做题个人赛题目 取证大师直接取证 1 Gary的笔记本电脑已成功取证并制作成镜像 (Forensic Image),下列哪个是其MD5哈希值。 A.0CFB3A0BB016165F1BDEB87EE9F710C9 B.5F1BDEB87EE9F710C90CFB3A0BB01616 C.A0BB016160CFB3A0BB0161661670CFB3 D.16160CFB3A0BB0161…

〔001〕虚幻 UE5 发送 get、post 请求、读取 json 文件

✨ 目录 🎈 安装 varest 扩展🎈 开启 varest 扩展🎈 发送 get 请求🎈 发送 post 请求🎈 读取 json 文件🎈 安装 varest 扩展 打开 虚幻商城,搜索 varest 关键字进行检索, varest 是一个 api 调用插件,支持 http/https 请求,也支持 json 文件的读取,最关键是该…

【毕业设计】基于springboot+vue+ssm的家乡特色推荐系统【源码+LW+PPT】

摘 要 在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括家乡特色推荐的网络应用,在外国家乡特色推荐系统已经是很普遍的方式,不过国内的管理网站可能还处于起步阶段。家乡特色推荐系统采用java技术&am…

新工业革命?基于机器视觉技术分拣机器人的未来与发展

原创 | 文 BFT机器人 01 分拣机器人的应用 基于机器视觉技术的分拣机器人可以将工人从繁重的劳动中解放出来,大大提高了分拣的效率,因此被广泛地应用于食品、物流以及煤矿等多个行业。 1.1 分拣机器人在水果分拣中的应用 随着农业科技的发展和人民生活…

基于PyTorch的中文情绪分析器设计与开发

收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、相关基础理论2.1 主流深度学习框架2.2 神经网络2.2.1 神经网络基础 二、中文情感分类模型构建3.1 开发环境3.2 数据部分3.3 文本特征提取3.3.1、过滤标点符号3.3.2 中文分词、单词过滤 三 运行结果与分析五 结…

解决找不到msvcr120.dll无法继续执行问题的5个方法,快速解决dll问题

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是找不到msvcr120.dll的错误。这个错误通常发生在运行某些程序或游戏时,它会导致程序无法正常启动或运行。那么,如何解决找不到msvcr120.dll的问题呢?下面我…

现在软文发布平台都有哪些?如何在正规媒体发稿?

近年来,随着广告行业竞争愈加激烈,越来越多的企业开始注重软文宣传。软文推广平台是企业在网络上发布软文、传播信息和推广产品的重要工具。 媒介易软文平台介绍更好的品牌宣传和市场推广:软文推广发稿有哪些平台, 软文发稿好方法?软文不仅能…

SpringMVC Day 10 : 拦截器

前言 拦截器是Spring MVC框架提供的一种强大的机制,用于在请求到达控制器之前或之后进行预处理和后处理。它可以拦截并处理请求,对请求进行必要的修改或验证,以及在请求返回给客户端之前进行额外的操作。拦截器可以帮助我们实现各种需求&…

文心一言4.0对比ChatGPT4.0有什么优势?

目录 总结 文心一言4.0的优势 文心一言4.0的劣势 免费分享使用工具 后话 生成式AI的困境 “不会问”“不会用”“不敢信” 为什么要出收费版本? 目前使用过国内的文心一言3.5和WPS AI,国外的ChatGPT4.0。 文心一言和其他国内产品相比&#xff0…

Windows 开启 Kerberos 的火狐 Firefox 浏览器访问yarn、hdfs

背景:类型为IPA或者MIT KDC,windows目前只支持 firefoxMIT Kerberos客户端的形式,其他windows端浏览器IE、chrome、edge,没有办法去调用MIT Kerberos Windows客户端的GSSAPI验证方式,所以均无法使用 Windows 开启 Kerb…

stm32 模拟I2C

目录 简介 I2C 物理层 协议层 ①②:起始信号和结束信号 ③ 应答和非应答信号 ④数据有效性 ⑤数据传输 ⑥空闲状态 简介 I2C 物理层 一个 I2C 总线两条线组成,一个双向串行数据线SDA用来表示数据,一个串行时钟线SCL用于数据收发同步…