历史版本9 :集群项目对接主从模式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各个节点独占服务器

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

JVM4G+
物理内存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

FineBI6.0.16&FineReport11.0.22 及之后版本

支持 Redis6.0 的权限管理功能 ACL

如需使用,请准备好用户名

3. 集群接入集群Redis编辑

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

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

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

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

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