1. Nginx中的节点间转发配置
1.1 应用场景
在负载均衡配置中,通常采用轮询策略来分发请求。负载均衡器不会判断某个请求的具体节点归属,而是根据轮询策略将请求分发给各个节点。当某个节点收到不属于自己的请求时,会将该请求内部转发给对应的节点处理,并在处理完成后将结果返回给原请求方。
然而,如果某个节点出现异常,无法响应内部转发的请求,负载均衡器可能会误判正常节点的状态,导致请求长时间未能返回且前端无报错。
为了避免单节点故障导致整个集群不可用,我们增加了对节点间转发请求的健康检查功能,以限制异常节点并在前端进行提醒。
1.2 支持的配置参数
通过合理配置这些参数,可以有效提升系统的稳定性和可靠性,确保在单节点故障时集群仍能正常运行。
参数 | 说明 |
---|---|
超时时间 | 参数说明:当节点间转发的请求在设定的超时时间内未响应时,前端会报错提醒并终止请求 默认值:90秒 修改规则:
|
尝试次数 | 参数说明:在单个周期内,系统会尝试转发请求的最大次数 默认值:8次 修改规则:
|
失效时间 | 参数说明:在设定的失效时间内,如果失败请求的次数超过最大尝试次数,该节点将被标记为失效,新的请求将不再转发给该节点 默认值:90秒 修改规则:
|
当节点服务器拒绝连接时,报错:41300002服务器拒绝了此次连接,页面如下图所示:
当集群节点间转发耗时超过了设定的超时时间时,报错:41300001服务器服务响应时间过长,报错页面如下图所示:
1.3 配置方法
1.3.1 通过运维平台修改
1)管理员登录运维平台,选择指定项目。点击「维护>集群管理」。
2)在集群高级配置中,支持修改「节点间转发配置」。默认值及修改规则请参见1.2节。
3)修改后,点击「保存」按钮。弹窗提醒:参数设置已修改,请重启各节点工程以生效。
4)请参考 关闭或重启FineBI工程 文档,重启帆软项目各个应用节点,以使配置生效。
1.3.2 通过帆软应用修改
1)管理员登录帆软应用,点击「管理系统>智能运维>集群配置>参数配置」。
2)在内部转发参数中,支持修改节点间转发配置。默认值及修改规则请参见1.2节。
3)修改后,点击「保存」按钮。弹窗提醒:参数设置已修改,请重启各节点工程以生效。
4)请参考 关闭或重启FineBI工程 文档,重启帆软项目各个应用节点,以使配置生效。
2. Redis中的集群前缀配置
2.1 应用场景
在启用集群时,帆软通常建议一个Redis服务仅对接一个帆软项目,作为状态服务。
如果一个 Redis 对接了多个帆软项目,不同帆软项目的 key 前缀可能完全相同,导致数据冲突。
因此当 Redis 服务被多个帆软项目共用时,请配置 key 前缀以区分各个工程,避免冲突。
2.2 配置方法
支持通过以下方法修改 key 前缀,请根据情况自行选择,任选其一即可。
2.2.1 通过运维平台修改
1)管理员登录运维平台,选择指定项目。点击「维护>集群管理」。
2)在集群高级配置中,支持修改「key前缀」。
默认值:非运维平台部署的项目状态服务,key 前缀默认值为__fine_redis_key__
自定义规则:支持英文大小写、阿拉伯数字、下划线,不支持中文和特殊字符
3)修改「key前缀」后,点击「保存」按钮。弹窗提醒:参数设置已修改,请重启各节点工程以生效。
4)请参考 关闭或重启FineBI工程 文档,重启帆软项目各个应用节点,以使配置生效。
2.2.2 通过帆软应用修改
1)管理员登录帆软应用,点击「管理系统>智能运维>集群配置>参数配置」。
2)在Redis存储key前缀中,支持修改「key前缀」。
默认值:非运维平台部署的项目状态服务,key 前缀默认值为__fine_redis_key__
自定义规则:支持英文大小写、阿拉伯数字、下划线,不支持中文和特殊字符
3)修改「key前缀」后,点击「保存」按钮。弹窗提醒:参数设置已修改,请重启各节点工程以生效。
4)请参考 关闭或重启FineBI工程 文档,重启帆软项目各个应用节点,以使配置生效。