美文网首页
数据可观测性-架构设计

数据可观测性-架构设计

作者: 和心数据 | 来源:发表于2022-02-19 16:40 被阅读0次

整体架构

DataVines 是一个数据可观测性系统,旨在帮助企业减少“数据宕机时间”,帮助企业能够在数据错误导致损失之前及时发现数据错误,它具有数据目录管理、数据质量监控和SLAs等功能。下面是它的架构设计图:

DataVines架构图

组件详解

Coordinator

Coordinator是DataVines平台核心协调者,负责对外提供API、调度各种数据监控任务,分发到Executor中去执行


Coordinator.

主要功能

  • Api 服务
  • 平台数据存储
  • 元数据管理
  • 作业调度和分发
  • Metric 管理
  • Issue 管理
  • SLAs 管理

高可用设计

  • Coordinator采用主备方式来保证高可用,基于ZooKeeper实现主备选举和主备切换。当Active节点宕机后,Backup节点会被选举为Active节点,读取数据库数据更新缓存信息对外提供服务
  • Backup 节点会将请求转发给 Active 节点,由Active 节点对外提供服务

Executor

Executor 是系统中实际负责运行任务的服务,会将Coordinator所下发的任务根据参数配置去运行。


Executor

主要功能

  • 接收Coordiantor下发的命令去执行任务,任务执行完成后将任务执行结果发送返回给Coordinator
  • 根据任务所选的executePlatformType可将任务提交到不同的环境或者集群中去运行,例如本地执行、提交到Yarn集群或者提交到K8中等。

Engine

本平台中所执行的各种监控任务本质上是去读取指定的数据源上的数据根据所配置好的脚本执行各种聚合统计运算,最后将执行结果写到存储引擎中用于各种判断。那么这样的任务可以是Spark任务、也可以是Flink任务,或者直接使用jdbc去运行都可以。因此将执行引擎抽象出来做了Engine的设计,支持Engine的插件化,用户可以使用平台内部已经实现的计算引擎,也可以根据自己的需求添加新的Engine来执行任务

MetaDataCrawler

MetaDataCrawler 主要负责定时去抓取指定数据源的元数据信息,然后更新到元数据存储引擎中

AlertServer

AlertServer 主要负责告警,用户在平台上配置告警规则,一旦数据监控任务触发告警,那么AlertServer就会将报错信息发送到指定的平台上,例如邮箱,企业微信等

核心设计

插件化设计

Connector插件化设计

  • Connector模块中定义了包括不仅限于连接参数相关、元数据信息获取相关、数据源执行脚本相关等接口,用于实现连接数据源、获取元数据信息以及执行相应脚本等功能。
  • 插件化设计允许用户实现Connector模块的相应接口来实现添加自定义数据源

Metric插件化设计

  • Metric是平台中非常重要的组成部分,主要用在各种数据监控任务中,Metric的丰富性使得平台的监控和检查手段更加丰富。本平台会内置多种Metric让用户可以开箱即用,同时也支持用户实现Metric相关接口来新增用户个性化的Metric。

Engine插件化设计

  • Engine是平台核心组成部分,是定义数据监控任务在计算引擎中的执行逻辑,不同的Engine对应不同的执行引擎,例如Spark、Flink、Presto等。执行逻辑主要由Sources、Transformers和Sinks组成,由Source来执行数据源的连接和数据读取,由Transformer来执行各种聚合统计处理,由Sink来执行执行结果的输出。不同的计算引擎实现方式有所不同,但是核心的流程就是读取数据,执行统计和输出数据。插件化设计允许用户自定义Engine来增加新的计算引擎。

流程设计

任务执行流程

任务执行流程

数据监控参数生成流程

参数的构造和转换流程

未完待续。。。

相关文章

  • 数据可观测性-架构设计

    整体架构 Bytezard 是一个数据可观测性系统,旨在帮助企业减少“数据宕机时间”,帮助企业能够在数据错误导致损...

  • 架构师软件设计目录

    UML建模 设计模式 架构模式 功能性设计 性能设计 可用性设计 可靠性(容错性)设计 可维护性设计 可扩展性设计...

  • OpenTelemetry 简析

    OpenTelemetry 是 CNCF 的一个可观测性项目,旨在提供可观测性领域的标准化方案,解决观测数据的数据...

  • 大数据仓库建设体系架构

    大数据仓库建设方法论:在业务架构设计、模型设计、数据研发、数据服务的各个环节中,实现可管理、可溯源、可规避...

  • 数据可观测性-功能设计

    数据目录管理 数据源管理 查看、创建、编辑、删除 元数据获取手动执行定时执行 数据源类型管理 创建数据源类型时需要...

  • GeekBand C++系统设计与实践 第二周

    4.搭建大规模可扩展系统 大纲 分布式系统 数据库系统 经典架构 设计原则:CAP理论 一致性介绍 关系型数据库 ...

  • (三、7)将布局视图绑定到体系结构组件

    AndroidX库包含架构组件,您可以使用它来设计健壮,可测试和可维护的应用程序。 数据绑定库可与架构组件无缝协作...

  • (转载)架构设计原则整理

    架构设计原则 常见架构设计方案质量属性点有:性能、可用性、硬件成本、项目投入、复杂度、安全性、可扩展性等。在评估这...

  • iOS架构

    好的架构设计可以提高开发效率,减少冗余的代码,提高组件模块的可复用性等。好的架构设计设计模式的有机结合,而不...

  • 架构基础

    架构设计的关键思维是判断和取舍,程序设计的关键思维是逻辑和实现。架构设计需要考虑的通用问题,性能、可用性、可扩展性...

网友评论

      本文标题:数据可观测性-架构设计

      本文链接:https://www.haomeiwen.com/subject/mfpflrtx.html