有赞实时计算 Flink 1.13 升级实践
一、背景 随着有赞实时计算业务场景全部以 Flink SQL 的方式接入,对有赞现有的引擎版本——Flink 1.10 的 SQL 能力提出了越来越多无法满足的需求以及可以优化的功能点。目前有赞的 Flink SQL 是在 Yarn 上运行,但是在公司应用容器化的背景下,可以统一使用公司 K8S 资源池,同时考虑到任务之间的隔离性以及任务的弹性调度,Flink…
Read More一、背景 随着有赞实时计算业务场景全部以 Flink SQL 的方式接入,对有赞现有的引擎版本——Flink 1.10 的 SQL 能力提出了越来越多无法满足的需求以及可以优化的功能点。目前有赞的 Flink SQL 是在 Yarn 上运行,但是在公司应用容器化的背景下,可以统一使用公司 K8S 资源池,同时考虑到任务之间的隔离性以及任务的弹性调度,Flink…
Read More背景 随着 Flink k8s 化以及实时集群迁移完成,有赞越来越多的 Flink 实时任务运行在 K8s 集群上,Flink k8s 化提升了实时集群在大促时弹性扩缩容能力,更好的降低大促期间机器扩缩容的成本。同时,由于 K8s 在公司内部有专门的团队进行维护,Flink k8s 化也能够更好的减低公司的运维成本。 不过当前 Flink k8s 任务资源是用户在实时平台端进行配置,…
Read More前言 目前有赞实时任务主要以 Flink 为主,为了保证实时任务的容错恢复以及停止重启时的状态恢复,几乎所有的实时任务都会开启 Checkpoint 或者触发 Savepoint 进行状态保存。由于 Savepoint 底层原理的实现和 Checkpoint 几乎一致,本文结合 Flink 1.9 版本,重点讲述 Flink Checkpoint 原理流程以及常见原因分析,让用户能够更好的理解…
Read More一. 前言 Flink 的窗口功能非常强大,因为要支持各种各样的窗口,像滑动窗口和滚动窗口这样的对齐窗口,像会话窗口这样的非对齐窗口,复杂度也会比较高。其中在超长滑动窗口的性能上也不尽如人意。这篇文章首先会阐述为什么在超长滑动窗口下 Flink 的性能会降级的很严重,以及在有赞我们是如何解决这个问题的。此外,在优化中并没有去兼顾 Evictor 的逻辑,因为在业务中并没有相应的需求。 二. Flink 滑动窗口的实现 Flink Window 算子的整体概念如下图所示,可以看到有几个重要的部分,…
Read More1. 概述 有赞是一个商家服务公司,提供全行业全场景的电商解决方案。在有赞,大量的业务场景依赖对实时数据的处理,作为一类基础技术组件,服务着有赞内部几十个业务产品,几百个实时计算任务,其中包括交易数据大屏,商品实时统计分析,日志平台,调用链,风控等多个业务场景,本文将介绍有赞实时计算当前的发展历程和当前的实时计算技术架构。 2. 实时计算在有赞发展 从技术栈的角度,我们的选择和大多数互联网公司一致,从早期的Storm,到JStorm, Spark Streaming 和最近兴起的Flink。从发展阶段来说,…
Read More