1. 概述
1.1 应用场景
Redis是一种快速、灵活和可靠的键值存储数据库,适合处理高性能、实时和高并发的数据访问场景。
状态服务器主要用于存储和更新应用程序的状态数据,并允许多个客户端同时访问和修改这些数据。
Redis单机作为帆软集群的状态服务器,主要用于存储缓存登录、模板锁、SessionID、WebSocket 等,对所有的访问和操作进行验证。
1.2 功能简介
帆软集群与单机Redis的对接,有多种情况,本文主要讲解方案二三。
说明 | |
---|---|
方案一 ★★★★★ | 部署全新集群项目,用户无需自行准备单机Redis,只需准备好服务器即可 运维平台部署多应用集群项目时,在「状态服务」中,可勾选「部署Redis单机」 运维平台即会自动帮助用户部署一个单机Redis,并与帆软项目对接好 |
方案二 ★★★ | 部署全新集群项目,用户自行准备单机Redis 运维平台部署多应用集群项目时,在「状态服务」中,可勾选「对接已有状态服务」 输入相关信息,运维平台会自动与该Redis进行对接,在项目部署成功后启用为状态服务器 |
方案三 | 已有集群项目,用户可自行准备一个单机Redis,并进行参数调优 在项目部署好后,在运维平台/帆软应用的「集群配置」中,可将集群项目与该单机Redis对接 |
2. 准备单机Redis
用户需要自行准备并部署单机 Redis。
帆软不提供相关资料和指导,仅对必要内容进行指明,请查阅 Redis 官网获取其他帮助。请参见:Redis 官网
如运维能力不足,推荐使用运维平台部署新项目时,勾选「部署Redis单机」即可,无需手动部署和调优。
2.1 服务器建议
配置类型 | 说明 |
---|---|
服务器数量 | 如有条件,建议Redis独占一台服务器 如条件不足,至少确保有一台服务器,部署且仅部署负载均衡、状态服务器、文件服务器、外接配置库组件,该服务器中不再部署其他内容 |
JVM | 4G+ |
物理内存 | 8G+ |
CPU | 2.5GHz以上 8核16线程 |
可用磁盘空间 | 100G以上 其中根目录可用磁盘不可小于40G |
网络要求 | 1)组件和应用工程、其他集群组件建议在同一网段,避免网络波动等问题 2)组件和应用工程、其他集群组件如处于公网环境,带宽需在10M以上 3)组件和应用工程、其他集群组件之间需要网络畅通,互相端口可访问 |
2.2 版本要求
建议部署最新版本的 Redis
支持 5.0.4 及以上版本的 Redis
2.3 参数调优
建议修改 redis.conf 配置文件中的以下内容。
修改后需要重启 Redis 生效,启动时需要指定该配置文件,例:./redis-server /usr/redis/redis.conf
修改/新增 | 说明 |
---|---|
# bind 127.0.0.1 | 指定Redis监听的IP地址 注释掉,代表被禁用,否则将只接受来自本机的连接 |
protected-mode no | 配置Redis的安全模式 no代表允许外部连接,此时帆软应用才能访问Redis服务 |
daemonize yes | 配置Redis是否以守护进程方式运行 yes代表redis在后台持续运行,不受用户登录或终端关闭影响 |
maxmemory 4294967296 | 配置Redis实例最大内存限制 推荐配置为4294967296(单位字节,即4GB) 根据实际情况和系统资源,可进行调整 |
maxmemory-policy noeviction | 配置达到最大内存限制时的处理策略 noeviction,代表Redis内存达到最大限制时,Redis不会自动清理或删除任何键来释放内存,新的写入请求将会被拒绝 这个选项用于保护 Redis 实例中的重要数据不被意外删除 |
requirepass admin123456 | 配置Redis服务的密码 可自行将admin123456修改为你的密码 |
port 7001 | 修改Redis服务占用的端口 默认端口为6379,请修改为任意端口 请确保端口未被占用,且可被帆软应用所在服务器访问 |
pidfile /var/run/redis_7001.pid | 指定PID文件的路径 建议根据Redis服务器占用的端口调整 |
logfile "7001.log" | 指定Redis服务器日志文件路径 将日志信息写入到名为 "7001.log" 的文件中。通过查看日志文件,可以了解 Redis 服务器的运行状态、发现潜在的问题,并采取相应的措施进行修复 |
2.4 准备Redis信息
请准备好 Redis 的主机IP、端口、密码,用于项目接入。
信息 | 说明 |
---|---|
主机 | 即Redis所在服务器的内网IP地址 |
端口 | 即上文redis.conf文件中的port配置值 默认为6379 |
密码 | 即上文redis.conf文件中的requirepass配置值 默认无密码 |
ACL | FineBI6.0.16&FineReport11.0.22 及之后版本 支持 Redis6.0 的权限管理功能ACL 如需使用,请准备好用户名 |
3. 集群接入单机Redis
支持在以下情况下接入单机Redis,请根据情况自行选择即可。
3.1 部署新集群时接入
在「部署新项目-项目设置」时,可接入自备的单机Redis作为状态服务器。
1)当部署多应用集群项目时,状态服务支持选择「对接已有状态服务」。
2)在「状态服务」信息填写处:
缓存系统:选择「Redis单机」
主机、端口、密码:填写第二章准备的Redis信息
3)点击「测试连接」,提示「测试连接成功」,即代表可正常对接。
3.2 运维平台集群管理接入
在运维平台的「集群管理」中,可为项目接入自备的单机Redis作为状态服务器。
1)管理员登录运维平台,选中指定项目。点击「维护>集群管理」。
2)对「状态服务器」进行配置
缓存系统:选择「Redis单机」
主机、端口、密码、ACL:填写第二章准备的Redis信息
3)点击「测试连接」,提示「测试连接成功」,即代表可正常对接。
3.3 管理系统集群管理接入
在帆软应用的「管理系统>集群管理」中,可接入自备的单机Redis作为状态服务器。
1)管理员登录帆软应用,点击「管理系统>智能运维>集群管理」。
2)开启状态服务器,缓存系统下会出现「Redis单机」下拉选项。
输入第二章准备的Redis信息,点击「测试连接并保存」,即可使用该Redis单机,作为状态服务器。