当前位置: 首页 > 网络应用技术

如何使用任务计划来实现一百万规则警报

时间:2023-03-08 01:09:15 网络应用技术

  简介:警报是公司的日常需求。除了在操作和维护过程中满足基础架构监视警报(CPU/内存/磁盘等)外,某些公司还将在应用程序指标(例如QPS,RT等)和业务指标(例如GMV/等业务指标)中Day Live等)有相应的警报需求。

  作者|黄小龙

  警报是公司的日常需求。除了在操作和维护过程中遇到基础架构监视警报(CPU/内存/磁盘等)外,一些公司还将在应用指标(例如QPS,RT等)中,并且BusinessERE Business在该指标上是相应的警报需求。指标(例如GMV/Day Live等)。

  在业务开发的早期,基础架构和单个申请表的较少,因此通常是粗鲁的,直接应对这种需求,但是随着业务的增长,尤其是每天的现场直播甚至数亿美元在水平上,监视指标ALSOTHE指数水平将上升。在这种情况下,它对警报系统提出了巨大挑战。如何在此卷下解决警报的有效性和及时性已成为IT治理的首要任务。在本文中,我们将从监视指标的数量开始,以解释各种警报系统每个阶段遇到的挑战阶段。

  如下图所示,常规意义上的常规警报过程主要包括核心链接,例如并发检查,完整检查,数据追踪和阈值判断。在同一时间,以确保警报的及时性,整个过程基本上将是第二级触发形式。细节如下:

  其中,警报背景任务处理系统是我们这次讨论的重点。对几个核心过程的解释如下:

  在业务开始时,警报任务往往是一些。目前,一般实现将基于一个过程中的线程池。

  将上图中的“背景任务处理系统”放置在机器上,该机器可以快速满足小型场景。目前,潜意识的响应是在能力上扩展任务处理系统以允许不同的服务器处理不同的警报规则。但是,随着警报规则不断增加,负载的连续增加将导致服务器重新启动或突然悬挂因此,因此,分布式问题(例如高可用性,任务功率等)和故障转移是一个复杂的问题。

  如果任务的数量达到10,000级,我们的目标是寻求轻卷分布式解决方案。分布式调度方案的基本思维是通过单独的任务计划中心安排任务。警报背景仅执行任务,即任务调度和隔离任务执行,以便两层都可以进行良好的水平扩展以达到容量的增加。定时任务,可以确保每个警报规则在平衡中得到平衡。图如下:

  如上图所示,石英的每个服务器都会加载全部容量的所有任务。每个任务时间都到了。所有服务器都将锁定数据库并抓住锁定服务器以触发任务到警报中心。

  该体系结构解决了任务的分布式调度,功率等的问题,并且执行层可以水平扩展,并且在低任务的条件下可以稳定运行。

  但是,从上面的架构图可以看出,石英的调度主要是通过转动DB和通过DB来实现的。目前,整个系统的吞吐量基本与DB的规格和性能密切相关。测试后,如果任务的调度频率达到10,000,则会发生相对明显的调度延迟。

  1. Schedulerx 2.0优势

  Schedulerx 2.0是由阿里巴巴开发的商业分布式任务调度平台。与开源任务调度系统相比,它具有多个优点:

  Schedulerx2.0基础架构图

  与常见方案相比,Scheduuuterx2.0将把任务分发给其他服务器计划。每个任务调度不需要锁定触发器,与数据库没有相互作用,没有性能瓶颈。

  2.高可用性

  分配系统中最常见的问题是高可用问题。如果Schedulerx 2.0中的服务器将挂起怎么办?

  如上图所示,每个应用程序将进行三个备份,通过ZK抓住锁,一个主和两个。如果悬挂了某个服务器,则将进行故障转移,另一个服务器接管了调度任务。

  3.商业警报

  Schedulerx 2.0当前支持三个警报渠道:钉,SMS和邮件:

  支持任务故障,超时和不可用的机器警报:

  以警报为例,您可以实时接收警报:

  Schedulerx 2.0支持阿里巴巴集团所有业务组的业务。经过多次测试,目前可以使用公共云中的1,000多家公司来访问它,并且在大规模任务和高可用性方面具有足够的经验。显然,在大型任务调度领域,Schedulerx 2.0已经是最好的之一。解决方案。

  资料来源:阿里巴巴云共享