HBaseSaveManagerRepository.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.sagacloud.repository;
  2. import cn.hutool.core.lang.Assert;
  3. import cn.hutool.core.util.RandomUtil;
  4. import com.sagacloud.util.compute_engine.fjd.ComputeEngineMain;
  5. import com.zillion.database.agent.ZillionAgent;
  6. import com.zillion.util.common.ZillionConstant;
  7. import lombok.extern.slf4j.Slf4j;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. /**
  11. * @author lgy
  12. * @date 2022/04/24 17:56
  13. * 查询Hbase的时候,批量范围查询分精度接口无法抗住QPS 100的并发,多节点启动有明显改善的情况下,测试启动多个ZillionAgent验证
  14. */
  15. @Slf4j
  16. public class HBaseSaveManagerRepository {
  17. private static final List<ZillionAgent> zillionAgentList = new ArrayList<>();
  18. private static final List<ComputeEngineMain> computeEngineMainList = new ArrayList<>();
  19. public static ZillionAgent randomZillionAgent() {
  20. if (zillionAgentList.isEmpty()) {
  21. return null;
  22. }
  23. return RandomUtil.randomEle(zillionAgentList);
  24. }
  25. public static void init(int zillionAgentCount) {
  26. Assert.checkBetween(zillionAgentCount, 1, 20);
  27. ZillionConstant.ObserverWait = 0L;
  28. for (int i = 0; i < zillionAgentCount; i++) {
  29. try {
  30. log.warn("----初始化第【{}】个zillionAgent开始----", i + 1);
  31. ComputeEngineMain computeEngineMain = new ComputeEngineMain();
  32. ZillionAgent zillionAgent = computeEngineMain.initZillionAgent();
  33. zillionAgentList.add(zillionAgent);
  34. computeEngineMainList.add(computeEngineMain);
  35. log.warn("----初始化第【{}】个zillionAgent结束----", i + 1);
  36. } catch (Exception e) {
  37. log.error("----初始化第【{}】个zillionAgent失败:{}----", i + 1, e.getMessage(), e);
  38. }
  39. }
  40. if (!zillionAgentList.isEmpty()) {
  41. try {
  42. log.warn("----初始化库表开始----");
  43. RandomUtil.randomEle(computeEngineMainList).initDatabaseAndTable();
  44. log.warn("----初始化库表结束----");
  45. } catch (Exception e) {
  46. log.error("----初始化库表失败----:" + e.getMessage(), e);
  47. }
  48. }
  49. }
  50. }