历史版本3 :抽取集群读写分离配置 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineBI服务器版本
功能变更
6.0-

1.2 问题描述

正式业务系统,往往白天工作时间进行业务查询,夜晚下班时间进行数据更新。

1)白天,若进行数据更新,不能占用查询的资源。

2)晚上,若有用户进行查询,不能占用更新的资源。

3)随着系统的使用时间变长,数据更新会越来越慢,需要通过清理冗余资源。

1.3 方案说明

帆软提供节点读写分离方案。

  • 读:节点为查询节点,主要承担查询转发功能

  • 写:节点为更新节点,主要承担数据抽取更新任务

是否开启读写分离
时间段配置节点类型效果

关闭(无需配置或参考下文配置)


在finedb的fine_conf_entity表中,添加字段和字段值

字段:SystemOptimizationConfig.readWriteSeparation

值:false

--

读写不分离


所有节点既可能承担查询角色,又可能承担更新角色

开启(必须手动配置)


在finedb的fine_conf_entity表中,添加字段和字段值

字段:SystemOptimizationConfig.readWriteSeparation

值:true

白天(即下文除夜晚以外的时间段)

配置查询节点(无需配置或参考下文配置


在%BI_HOME%\webapps\webroot\WEB-INF\config目录下的spider.cluster.properties文件中添加配置

open_spider_update=false

配置了的节点为查询节点(都没配置的话,所有节点都默认为查询节点)


白天,查询节点只查询,不更新

配置更新节点(必须手动配置)


%BI_HOME%\webapps\webroot\WEB-INF\config目录下的spider.cluster.properties文件中添加配置

open_spider_update=true

配置了的节点为更新节点


白天,更新节点只更新,不查询

夜晚(默认值为21:00-9:00,如需自定义可参考下文配置)


在finedb的fine_conf_entity表中,添加字段和字段值

字段:DistributedOptimizationConfig.spiderConfig.spider_high_performance_resource_time

值:XX:XX-XX:XX

-

开启存算分离之后,在晚间时段,作为高性能时段,所有节点都为更新节点


夜晚,节点既更新又查询,优先更新

2. 示例编辑

本文示例:

三节点抽取集群,配置AB节点为查询节点,C节点为更新节点,配置23:00-6:00为夜间时段。

操作步骤:

1)开启读写分离功能

参考 填报修改fine_conf_entity 文档,在finedb的fine_conf_entity表中,添加字段和字段值

字段:SystemOptimizationConfig.readWriteSeparation

值:true

2)设置夜间时段

参考 填报修改fine_conf_entity 文档,在finedb的fine_conf_entity表中,添加字段和字段值

字段:DistributedOptimizationConfig.spiderConfig.spider_high_performance_resource_time

值:23:00-6:00

3)设置C节点为更新节点

在C节点工程的webapps\webroot\WEB-INF\config目录下的spider.cluster.properties文件中添加配置

open_spider_update=true

效果说明:

白天(6:00-23:00),AB节点负责查询转发,C节点负责抽取数据更新。

晚上(23:00-6:00),ABC节点一起承担抽取数据更新工作,少量查询请求也会被节点一起进行处理。