有赞 Flink 实时任务资源优化探索与实践

背景 随着 Flink k8s 化以及实时集群迁移完成,有赞越来越多的 Flink 实时任务运行在 K8s 集群上,Flink k8s 化提升了实时集群在大促时弹性扩缩容能力,更好的降低大促期间机器扩缩容的成本。同时,由于 K8s 在公司内部有专门的团队进行维护,Flink k8s 化也能够更好的减低公司的运维成本。 不过当前 Flink k8s 任务资源是用户在实时平台端进行配置,…

Read More

Flink Checkpoint 原理流程以及常见失败原因分析

前言 目前有赞实时任务主要以 Flink 为主,为了保证实时任务的容错恢复以及停止重启时的状态恢复,几乎所有的实时任务都会开启 Checkpoint 或者触发 Savepoint 进行状态保存。由于 Savepoint 底层原理的实现和 Checkpoint 几乎一致,本文结合 Flink 1.9 版本,重点讲述 Flink Checkpoint 原理流程以及常见原因分析,让用户能够更好的理解…

Read More

Flink 滑动窗口优化

一. 前言 Flink 的窗口功能非常强大,因为要支持各种各样的窗口,像滑动窗口和滚动窗口这样的对齐窗口,像会话窗口这样的非对齐窗口,复杂度也会比较高。其中在超长滑动窗口的性能上也不尽如人意。这篇文章首先会阐述为什么在超长滑动窗口下 Flink 的性能会降级的很严重,以及在有赞我们是如何解决这个问题的。此外,在优化中并没有去兼顾 Evictor 的逻辑,因为在业务中并没有相应的需求。 二. Flink 滑动窗口的实现 Flink Window 算子的整体概念如下图所示,可以看到有几个重要的部分,…

Read More

实时计算在有赞的实践-效率提升之路

1. 概述 有赞是一个商家服务公司,提供全行业全场景的电商解决方案。在有赞,大量的业务场景依赖对实时数据的处理,作为一类基础技术组件,服务着有赞内部几十个业务产品,几百个实时计算任务,其中包括交易数据大屏,商品实时统计分析,日志平台,调用链,风控等多个业务场景,本文将介绍有赞实时计算当前的发展历程和当前的实时计算技术架构。 2. 实时计算在有赞发展 从技术栈的角度,我们的选择和大多数互联网公司一致,从早期的Storm,到JStorm, Spark Streaming 和最近兴起的Flink。从发展阶段来说,…

Read More

Flink 在有赞实时计算的实践

一、前言 这篇主要由五个部分来组成: 首先是有赞的实时平台架构。 其次是在调研阶段我们为什么选择了 Flink。在这个部分,主要是 Flink 与 Spark 的 structured streaming 的一些对比和选择 Flink 的原因。 第三个就是比较重点的内容,Flink 在有赞的实践。这其中包括了我们在使用 Flink 的过程中碰到的一些坑,也有一些具体的经验。 第四部分是将实时计算…

Read More