INFINI Console 指标采集优化

前言

Easysearch / Elasticsearch / Opensearch 管理系统中,对于不同集群不同指标数据进行采集是一个常规任务。但是采集过程中不仅会对采集系统 CPU 和访问性能造成不少压力,也会对 Easysearch / Elasticsearch / Opensearch 集群造成资源消耗,从而影响集群本身的健康运行。因此,优化设计采集指标任务系统设计尤为重要。

原架构分析

先前基于对 Console 自身性能影响的考量,我们将所有纳管集群的指标采集任务都放到单一线程中去顺序执行,如下图:

在原有架构中,所有集群指标的采集任务操作均依赖于一个线程执行,每个集群的采集任务包括 “集群健康”,“集群统计”,“节点统计” 等采集任务。该模型实现简单,但也带来以下问题:

  1. 单线程实现增加应用总时间而导致超时风险。
  2. 不同集群间采集指标任务相互干扰,导致指标采集相当不稳定。
  3. 不同的集群指标采集时间间隔可能不一样,无法精确控制。

新架构优化

新设计中,我们将每个集群中不同采集项分布到独立线程去执行:

  1. 每个集群的“集群健康”,“节点统计”,和“指数统计”采用独线程执行。
  2. 不同的指标采集任务可以独立设置采集时间间隔。
  3. 将所有采集任务放到一个线程池中去执行,集中控制资源使用和任务调度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值