| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package com.sagacloud.repository;
- import cn.hutool.core.lang.Assert;
- import cn.hutool.core.util.RandomUtil;
- import com.sagacloud.util.compute_engine.fjd.ComputeEngineMain;
- import com.zillion.database.agent.ZillionAgent;
- import com.zillion.util.common.ZillionConstant;
- import lombok.extern.slf4j.Slf4j;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * @author lgy
- * @date 2022/04/24 17:56
- * 查询Hbase的时候,批量范围查询分精度接口无法抗住QPS 100的并发,多节点启动有明显改善的情况下,测试启动多个ZillionAgent验证
- */
- @Slf4j
- public class HBaseSaveManagerRepository {
- private static final List<ZillionAgent> zillionAgentList = new ArrayList<>();
- private static final List<ComputeEngineMain> computeEngineMainList = new ArrayList<>();
- public static ZillionAgent randomZillionAgent() {
- if (zillionAgentList.isEmpty()) {
- return null;
- }
- return RandomUtil.randomEle(zillionAgentList);
- }
- public static void init(int zillionAgentCount) {
- Assert.checkBetween(zillionAgentCount, 1, 20);
- ZillionConstant.ObserverWait = 0L;
- for (int i = 0; i < zillionAgentCount; i++) {
- try {
- log.warn("----初始化第【{}】个zillionAgent开始----", i + 1);
- ComputeEngineMain computeEngineMain = new ComputeEngineMain();
- ZillionAgent zillionAgent = computeEngineMain.initZillionAgent();
- zillionAgentList.add(zillionAgent);
- computeEngineMainList.add(computeEngineMain);
- log.warn("----初始化第【{}】个zillionAgent结束----", i + 1);
- } catch (Exception e) {
- log.error("----初始化第【{}】个zillionAgent失败:{}----", i + 1, e.getMessage(), e);
- }
- }
- if (!zillionAgentList.isEmpty()) {
- try {
- log.warn("----初始化库表开始----");
- RandomUtil.randomEle(computeEngineMainList).initDatabaseAndTable();
- log.warn("----初始化库表结束----");
- } catch (Exception e) {
- log.error("----初始化库表失败----:" + e.getMessage(), e);
- }
- }
- }
- }
|