腾讯云 CKafka 作为大数据架构中的关键组件,起到了数据聚合,流量削峰,消息管道的作用。在 CKafka 上下游中的数据流转中有各种优秀的开源解决方案。如 Logstash,File Beats,Spark,Flink 等等。本文将带来一种新的解决方案:Serverless Function。其在学习成本,维护成本,扩缩容能力等方面相对已有开源方案将有优异的表现。
作者简介:许文强,腾讯云 Ckafka 核心研发,精通 Kafka 及其周边生态。对 Serverless,消息队列等领域有较深的理解。专注于 Kafka 在公有云多租户和大规模集群场景下的性能分析和优化、及云上消息队列 serverless 化的相关探索。
Tencent Cloud Kafka 介绍
Tencent Cloud Kafka 是基于开源 Kafka 引擎研发的适合大规模公有云部署的 Cloud Kafka。是一款适合公有云部署、运行、运维的分布式的、高可靠、高吞吐和高可扩展的消息队列系统。它 100% 兼容开源的 Kafka API,目前主要支持开源的 0.9, 0.10, 1.1.1, 2.4.2 四个大版本 ,并提供向下兼容的能力。
目前 Tencent Cloud Kafka 维护了超过 4000+ 节点的集群,每日吞吐的消息量超过 9 万亿+条,峰值带宽达到了 800GB+/s, 堆积数据达到了 20PB+。是一款集成了租户隔离、限流、鉴权、安全、数据监控告警、故障快速切换、跨可用区容灾等等一系列特性的,历经大流量检验的、可靠的公有云上 Kafka 集群。
什么是数据流转
CKafka 作为一款高吞吐,高可靠的消息队列引擎。需要承接大量数据的流入和流出,数据流动的这一过程我们称之它为数据流转。而在处理数据的流入和流出过程中,会有很多成熟丰富的开源的解决方案,如 Logstash,Spark,Fllink等。从简单的数据转储,到复杂的数据清洗,过滤,聚合等,都有现成的解决方案。
如图所示,在 Kafka 上下游生态图中,CKafka 处于中间层,起到数据聚合,流量削峰,消息管道的作用。图左和图上是数据写入的组件概览,图右和图下是下游流式数据处理方案和持久化存储引擎。这些构成了 Kafka 周边的数据流动的生态。
数据流转新方案: Serverless Function
下图是流式计算典型数据流动示意图。其中承接数据流转方案的是各种开源解决方案。单纯从功能和性能的角度来讲,开源解决方案都有很优秀的表现。
而从学习成本,维护成本,金钱成本,扩缩容能力等角度来看,这些开源方案还是有欠缺的。怎么说呢?开源方案的缺点主要在于如下三点:
- 学习成本
- 调优、