最新历史版本 :集群对接主从模式Redis集群 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

Redis是一种快速、灵活和可靠的键值存储数据库,适合处理高性能、实时和高并发的数据访问场景。

Redis集群是一种基于分片的Redis部署方式,它将数据分散到多个节点中,从而可以实现横向扩展和高可用性。

  • 主节点宕机后,对应从节点会被选举为新的主节点

  • 所有指向原主节点的客户端会被通知新的主节点的地址

  • 新的主节点会从其他从节点同步数据,以确保数据的一致性

状态服务器主要用于存储和更新应用程序的状态数据,并允许多个客户端同时访问和修改这些数据。

Redis集群作为帆软高可用集群的状态服务器,主要用于存储缓存登录、模板锁、SessionID、WebSocket 等,对所有的访问和操作进行验证。

1.2 功能简介

本文主要讲解帆软集群与集群Redis的对接:

  • 用户可自行准备一个集群Redis,并进行参数调优

  • 在部署新项目/项目部署好后,可将集群项目与该集群Redis对接

2. 准备集群Redis编辑

用户需要自行准备并部署集群 Redis。

帆软不提供相关资料和指导,仅对必要内容进行指明,请查阅 Redis 官网获取其他帮助。请参见:Redis 集群教程

如运维能力不足,推荐使用运维平台部署新项目时,勾选「部署Redis单机」即可,无需手动部署和调优。

2.1 服务器建议

Redis 集群对资源的要求比较多,运维成本也会更高。

下表列出每个服务器的配置建议:

配置类型说明
服务器数量

请根据节点数量准备服务器个数

例如部署一个「三主三从」的 6 节点 Redis 集群,则至少需要准备 3 台服务器,每台服务器上部署 「一主一从」的 2 个节点

注1:为了确保 Redis 集群高可用,同一对主从节点不应部署在一台服务器上,每一个主节点也不应部署在一台服务器上

注2:如服务器资源充足,建议Redis各个节点独占服务器

        如条件不足,至少确保所用服务器,部署且仅部署负载均衡、状态服务器、文件服务器、外接配置库组件,不再部署其他内容

物理内存8G+
CPU2.5GHz以上

8核16线程

可用磁盘空间

100G以上

其中根目录可用磁盘不可小于40G

网络要求1)组件和应用工程、其他集群组件建议在同一网段,避免网络波动等问题

2)组件和应用工程、其他集群组件如处于公网环境,带宽需在10M以上

3)组件和应用工程、其他集群组件之间需要网络畅通,互相端口可访问

2.2 版本要求

  • 建议部署最新版本的 Redis

  • 支持 5.0.4 及以上版本的 Redis

2.3 参数调优

  • 建议修改各个 Redis 节点的 redis.conf 配置文件中的以下内容。

  • 修改后需要重启 Redis 生效,启动时需要指定新的配置文件,例:./redis-server /usr/redis/7001/nodes-7001.conf

  • 下表以端口为7001的Redis实例为例,其他端口的配置,请按照实际情况调整

修改/新增说明
# bind 127.0.0.1

指定Redis监听的IP地

注释掉,代表被禁用,否则将只接受来自本机的连接

protected-mode no

配置Redis的安全模式

no代表允许外部连接,此时帆软应用才能访问Redis服务

daemonize yes

配置Redis是否以守护进程方式运

yes代表redis在后台持续运行,不受用户登录或终端关闭影响

maxmemory 2147483648

配置Redis实例最大内存限

推荐配置为2147483648(单位字节,即2GB)

根据实际情况和系统资源,可进行调整

maxmemory-policy noeviction

配置达到最大内存限制时的处理策

noeviction,代表Redis内存达到最大限制时,Redis不会自动清理或删除任何键来释放内存,新的写入请求将会被拒绝

这个选项用于保护 Redis 实例中的重要数据不被意外删除

requirepass admin123456配置Redis服务的密码

可自行将admin123456修改为你的密码

请注意,各个Redis节点的密码,必须完全一致,否则无法与帆软集群对接

port 7001修改Redis服务占用的端口
默认端口为6379,请修改为任意端口
请确保端口未被占用,且可被帆软应用所在服务器访问
pidfile /var/run/redis_7001.pid

指定PID文件的路

建议根据Redis服务器占用的端口调整

logfile "7001.log"

指定Redis服务器日志文件路

将日志信息写入到名为 "7001.log" 的文件中。通过查看日志文件,可以了解 Redis 服务器的运行状态、发现潜在的问题,并采取相应的措施进行修复

dbfilename 7001dump.rdb

指定RDB(Redis DataBase)快照文件的名称

当Redis进行持久化时,将内存中的数据快照保存到该文件

建议根据Redis服务器占用的端口调整文件名

appendfilename "7001appendonly.aof"

指定AOF(Append Only File)文件的名

当Redis使用AOF进行持久化时,将所有的写操作日志写入该文件

建议根据Redis服务器占用的端口调整文件名

cluster-enabled yes

确认是否启用Redis集群模

yes代表Redis将以集群模式运行

cluster-config-file nodes-7001.conf

指定集群的配置文件路

该文件首次启动时自动生成,包含集群节点的信息和配置

建议根据Redis服务器占用的端口调整文件名

replicaof 192.168.101.91 7001

从节点需要配

指定主节点的IP和端口

请将IP与端口自行调整

masterauth admin123456

从节点需要配置该

指定连接到主节点时使用的密码
可自行将admin123456修改为你的密码

2.4 准备Redis信息

请准备好Redis的主机IP、端口、密码,用于项目接入。

信息
说明
主机即Redis所在的各个服务器的IP地址
端口

即上文各个Redis实例的redis.conf文件中的port配置

密码

即上文redis.conf文件中的requirepass配置

请注意,各个Redis节点的密码,必须完全一致,否则无法与帆软集群对接

默认无密码

ACL

FineReport 11.0.22 及之后版本支持 Redis6.0 的权限管理功能ACL

如需使用,请准备好用户名,并在配置时勾选此项

注:FineBI及FineDataLink暂不支持。

3. 集群接入集群Redis编辑

本文仅讲解如何在集群配置中,使用「主从模式Redis集群」作为状态服务器。集群其他配置步骤请参见:配置开启集群

在帆软应用的「管理系统>集群管理」中,可接入自备的集群Redis作为状态服务器。

1)管理员登录帆软应用,点击「管理系统>智能运维>集群管理」。

2)开启状态服务器,缓存系统下会出现「Redis集群」下拉选项。

输入第二章准备的Redis信息,点击「测试连接并保存」,即可使用该Redis集群,作为状态服务器。

注:如非首次接入Redis,而是切换Redis状态服务器。请在切换成功后,重启帆软集群,以确保各个节点的配置缓存更新。