历史版本19 :集群参数配置 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
11.0

1.2 问题描述

目前集群功能中一些常用的参数,配置时需要手动向数据库中增加或修改字段,存在以下两个问题:

  • 用户不知道什么情况下去配置这些参数,以及这些参数的意义,需要后方提供支持。

  • 修改数据库中的字段存在一定的操作成本。

1.3 解决方案

对于常用的集群参数,FineReport 开放平台配置,用户可自行实现配置,目前允许配置:

  • Redis存储key前缀

  • 内部转发参数

2.  配置介绍编辑

用户在 平台配置集群 后,以管理员身份登录决策系统,点击「管理系统>智能运维>集群配置」,在参数配置页面中,可对「Redis存储key前缀」参数和「内部转发参数」进行配置。

其中,对参数进行配置时,鼠标移到配置项文本框后面,会有个提示图标,点击后出现该配置项的要求。如下图所示:

3.png

2.1 Redis存储key前缀

当使用的 Redis 服务器属于公用服务,也被其他工程所使用时。为了避免多套工程的 key 存在冲突,我们需要给不同的工程自定义其存储在 Redis 中的 key 前缀。

配置并重启工程后,我们可以从 redis 中查询到新的前缀的 key 值,查询方法见:Linux 系统 Redis 运维手册

配置项默认配置填写要求填写提示
key前缀
__fine_redis_key__英文大小写、阿拉伯数字、下划线支持英文大小写、阿拉伯数字、下划线,不支持中文和特殊字符

修改「key前缀」后,点击右侧「保存」按钮,前端弹窗提醒用户:参数设置已修改,请重启各节点工程以生效。如下图所示:

6.png

2.2 内部转发参数

2.2.1 原理说明

我们通常给负载均衡配置轮询的转发策略,负载均衡不会判断某个请求的节点归属情况,会将请求按照轮询的策略转发给各个节点。当节点收到不属于自己的请求时,会内部转发该请求给对应的节点处理,请求处理完成后再原路返回。

基于这个逻辑,当一个节点异常时无法对内部转发过来的请求进行响应,负载均衡可能会对正常的节点进行误判,也有可能导致此请求迟迟无法返回且前端无报错。

为了避免单节点宕机导致集群不可用的情况发生,增加了对节点间转发的请求的健康检查,可以对异常节点进行限制并能够前端提醒。报错页面如下图所示:

服务器拒绝连接:

1639019527999889.png

超时:

1639019709689933.png

2.2.2 配置说明

配置项默认配置单位填写要求含义
超时时间90不小于 10 的整数

读写超时的时间,如果在超时时间内服务器未返回或收到任何数据,视为超时。如果有些报表计算或者导出时后端需要花费几分钟甚至更多,则需要设置长一点

对应 nginx 中的参数为 proxy_read_timeout 和 proxy_send_timeout ,这两个参数值要大于平台配置的超时时间

尝试次数
8正整数

单个周期内最大尝试的次数,此参数须≥1次

最大尝试失败次数 n ,默认值为 5 次,待调整为 8 次

对应 nginx 中的参数为 max_fails ,建议大于或等于平台配置的尝试次数

失效时间
90不小于10的整数

在单个失效时间内,失败请求超过最大尝试次数后,节点会被置为失效,新的请求将不会内部转发给该节点

对应 nginx 中的参数为 fail_timeout ,建议大于或等于平台配置的 s

修改「内部转发参数」后,点击右侧「保存」按钮,前端弹窗提醒用户:参数设置已修改,请重启各节点工程以生效。如下图所示:

7.png

2.3 配置校验功能

用户配置参数时,前端和后端都进行校检,前端校检不符合规则进行提示,后端校检不符合规则不进行写入。如下图所示:

8.png