Goldsky 基于 Flink、Redpanda 和 Kubernetes 的区块链数据流优先架构

Goldsky 实时区块链数据处理平台概述

Goldsky 开发了一个用于实时处理区块链数据的平台,旨在帮助客户将区块链数据提取到其数据库中,以支持产品功能,同时无需运行数据管道基础设施。该平台采用事件驱动架构(EDA),核心技术包括 Apache Flink、Redpanda、Kubernetes 和云服务提供商。

平台功能与目标用户

Goldsky 平台提供区块链索引、子图(Subgraphs)和数据流管道,主要面向构建去中心化应用(dApps)的开发者。这些开发者可能不熟悉数据工程或相关技术(如 Apache Kafka 或 Apache Flink),但需要高效处理区块链数据。

行业范式转变

Goldsky 首席软件工程师 Yaroslav Tkachenko 指出,行业最近发生了范式转变。过去仅用于内部分析团队的数据平台技术,现在被用于支持面向客户的功能。传统上仅用于报告和仪表板的数据管道,如今正在支持 Web 应用功能。

平台架构

Goldsky 平台架构分为控制平面和数据平面两部分:

  • 控制平面:负责暴露配置管理 API,允许配置数据处理管道,包括区块链数据源、客户数据库接收器、访问凭证和其他配置选项。UI 和 CLI 应用通过控制平面 API 帮助客户配置管道。
  • 数据平面:执行已配置的数据管道,从源区块链提取原始数据,进行转换,并将其插入客户数据存储接收器。

数据提取方式

Goldsky 支持两种从区块链提取数据的方式:

  1. 直接索引:基于以太坊 ETL 项目,直接连接区块链节点,提取低级数据(如日志和交易)。
  2. 子图:通过简单的 TypeScript 应用程序处理智能合约的事件遥测数据。

技术支持与工具

  • Redpanda:用于直接索引的 Kafka 兼容消息代理,使用 Avro 进行区块链数据序列化。Redpanda 支持 S3 兼容的分层存储,实现成本效益高的长期数据保留。
  • Flink SQL:作为转换层,客户可以定义自定义 SQL 转换,执行过滤、投影、复杂连接或聚合。Flink 任务通过 Flink Kubernetes Operator 在 Kubernetes 上执行。
  • 管道接收器:客户可选择多种接收器类型,包括 PostgreSQL、S3、ElasticSearch、ClickHouse、Rockset 和 Apache Kafka。

数据流对区块链的优势

Tkachenko 总结了数据流对区块链数据处理的好处:

  • 数据流概念非常适合区块链数据,能够解决区块链重组等复杂问题,通过将其建模为流处理问题(如撤回)。
  • 进一步支持更高级的用例,如将链上数据与链外数据丰富结合,可靠地计算 Top-N 聚合,以及将多个区块链的数据合并。

总结

Goldsky 的平台通过简化区块链数据处理流程,降低了开发者的技术门槛,同时利用先进的数据流技术,解决了区块链数据处理中的复杂问题,为去中心化应用的开发提供了强有力的支持。

阅读 69
0 条评论