小红书利用Flink数据集成实现降本增效的策略分享

需积分: 3 0 下载量 81 浏览量 更新于2024-06-26 收藏 6.51MB PDF 举报
“Flink在小红书的数据集成服务实践中,主要关注降本增效,解决资源抢占和集群利用率问题。小红书的Flink业务具有云原生特性,多云和海内外架构,且数据集成链路长,作业高峰时资源竞争激烈。为应对这些挑战,小红书采取了多种策略,包括Flink的流批处理模式优化、在离线混部、任务优先级细化和集群资源整合。” 在小红书的实时服务中,Flink作为数据集成的核心工具,面临着日益增长的成本控制和效率提升需求。小红书的Flink服务有以下几个显著特点: 1. **云原生环境**:小红书的Flink服务运行在多云和海内外架构上,这要求平台具有高度的灵活性和扩展性。 2. **复杂的数据集成链路**:数据集成链路较长,导致作业执行时存在资源争抢的情况,尤其是在高峰期。 3. **流批混合模式**:高优先级和低优先级的数据集成作业都在Flink的流模式下运行,流模式需要更多的CPU和内存资源,特别是在引入state和watermark时。 为了实现降本增效,小红书采取了以下措施: 1. **Flink流批模式对比**:在降低成本的视角下,小红书推广使用Flink的批模式,因为批模式仅需数据shuffle,不需要state和watermark,对CPU和内存的需求较低,但可能增加磁盘使用。 2. **在离线混部实践**:通过在离线任务混跑,利用空闲资源,提高整体利用率。不过,这也需要保护在线服务,可能需要对离线任务进行资源压制。 3. **任务优先级细化**:通过优化任务调度,细化作业优先级,避免高峰时段资源被大量抢占。 4. **集群资源整合**:小红书考虑合并小规模集群,利用资源quota来避免资源碎片和浪费。 5. **虚拟Kubernetes集群**:构建在离线混部的k8s集群,整合各个集群的空闲资源,形成一个虚拟集群,提供类似独占集群的体验。 通过这些实践,小红书不仅提高了Flink服务的资源利用率,还降低了运营成本,实现了数据集成服务的高效运行。未来,小红书可能会继续探索更多优化策略,如更智能的资源调度算法,以及进一步优化Flink作业的执行模式,以适应不断变化的业务需求。