Jstorm到Flink 在今日头条的迁移实践

本文介绍了字节跳动如何将Jstorm迁移至Flink,涉及引入Flink的背景、Flink集群构建、解决的问题以及流式管理平台的构建。迁移过程中,Flink的内存隔离、队列管理和SQL支持等优势得以体现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文将为大家展示字节跳动公司怎么把Storm从J storm迁移到Flink的整个过程以及后续的计划。你可以借此了解字节跳动公司引入Flink的背景以及Flink集群的构建过程。字节跳动公司是如何兼容以前的Jstorm作业以及基于Flink做一个任务管理平台的呢?本文将一一为你揭开这些神秘的面纱。

本文内容如下:

  • 引入Flink的背景
  • Flink集群的构建过程
  • 构建流式管理平台

 下面这幅图展示的是字节跳动公司的业务场景

  首先,应用层有广告,也有AB测,也有推送和数据仓库的一些业务。然后在使用J storm的过程中,增加了一层模板主要应用于storm的计算模型,使用的语言是python。所以说中间相对抽象了一个schema,跑在最下面一层Jstorm计算引擎的上面。
  字节跳动公司有很多Jstorm集群,在当时17年7月份的时候,也就是在计划迁移到Flink之前,Jstorm集群的规模大概是下图所示的规模级别,当时已经有5000台机器左右了。

接下来,介绍下迁移Flink的整个过程。先详细地介绍一下当时JStorm是怎么用的。

  上面是一个word count的例子:左边是一个目录结构,这个目录结构在resources下面,里面的Spout/Bolt的逻辑都是一些python脚本写的。然后在最外层还有一个topology_online.yaml配置文件。
  这个配置文件是用来干什么的?就是把所有的Spout和Bolt串联起来构成一个有向无关图,也就是DAG图。这就是使用Jstorm时的整个目录结构,大部分用户都是这样用的。右边是Spout和Bolt的逻辑,其实是抽象出来了一个函数,就在这里面写业务方面的函数,然后将tuple_batch也就是上游流下来的数据去做一些计算逻辑。

  下面详细介绍一下配置文件的信息,其实我们有整个拓扑结构拓扑的信息,比如说作业名叫什么,作业需要多少资源,需要多少work数。这里面会有单个的spout和Bolt的配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值