实时数仓系列-网易云音乐基于 Flink + Kafka 的实时数仓建设实践

本文介绍了网易云音乐基于 Flink 和 Kafka 实现的实时数仓平台,讨论了选用 Kafka 和 Flink 的原因,如 Kafka 的高吞吐、低延迟和容错性,以及 Flink 的高性能和流批统一能力。文章详细阐述了 Kafka + Flink 流计算体系、平台化设计,包括集群 catalog 化、Topic 流表化和 Message Schema 化。此外,还分享了在实时数仓中遇到的问题及解决方案,如数据分发、集群隔离和监控系统建设。
摘要由CSDN通过智能技术生成
  1. 背景

     

  2. Flink + Kafka 平台化设计

  3. Kafka 在实时数仓中的应用

  4. 问题 & 改进

直播回放:https://developer.aliyun.com/live/2894

一、背景介绍

(一)流平台通用框架

目前流平台通用的架构一般来说包括消息队列、计算引擎和存储三部分,通用架构如下图所示。客户端或者 web 的 log 日志会被采集到消息队列;计算引擎实时计算消息队列的数据;实时计算结果以 Append 或者 Update 的形式存放到实时存储系统中去。

目前,我们常用的消息队列是 Kafka,计算引擎一开始我们采用的是 Spark Streaming,随着 Flink 在流计算引擎的优势越来越明显,我们最终确定了 Flink 作为我们统一的实时计算引擎。

(二)为什么选 Kafka?

Kafka 是一个比较早的消息队列,但是它是一个非常稳定的消息队列,有着众多的用户群体,网易也是其中之一。我们考虑 Kafka 作为我们消息中间件的主要原因如下:

  • 高吞吐,低延迟:每秒几十万 QPS 且毫秒级延迟;

  • 高并发:支持数千客户端同时读写;

  • 容错性,可高性:支持数据备份,允许节点丢失;

  • 可扩展性:支持热扩展,不会影响当前线上业务。

(三)为什么选择 Flink?

Apache Flink 是近年来越来越流行的一款开源大数据流式计算引擎,它同时支持了批处理和流处理,考虑 Flink 作为我们流式计算引擎的主要因素是:

  • 高吞吐,低延迟,高性能;

  • 高度灵活的流式窗口;

  • 状态计算的 Exactly-once 语义;

  • 轻量级的容错机制;

  • 支持 EventTime 及乱序事件;

  • 流批统一引擎。

(四)Kafka + Flink 流计算体系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值