tencent cloud

消息队列 CKafka 版

分布式、高吞吐量、高可扩展性的消息服务,100%兼容开源 Apache Kafka 0.9-2.8

简介

消息队列 CKafka 版(TDMQ for CKafka)是一个分布式、高吞吐量、高可扩展性的消息系统,100%兼容开源 Kafka API 0.9至2.8版本。CKafka 基于发布/订阅模式,通过消息解耦,使生产者和消费者异步交互,无需彼此等待。CKafka 具有高可用、数据压缩、同时支持离线和实时数据处理等优点,适用于日志压缩收集、监控数据聚合、流式数据集成等场景。

特性
兼容开源

100% 兼容 Apache Kafka 0.9至2.8版本,迁移上云0成本。兼容开源上下游组件,对于 Kafka Streams、Kafka Connect 无缝支持。

上下游生态

支持与数据库、ES、COS、容器、流计算、日志服务等15+云上产品打通,低成本一键部署数据流转链路。

高可靠

消息队列 CKafka 版 集群性能强劲,生产性超越开源方案;此外,消息队列 CKafka 版 分布式的部署,集群稳定性也有很好的保障。

高扩展性

支持集群水平扩容,实例无缝升配,底层系统根据业务规模自动弹性伸缩,上层业务无感知。

业务安全

不同租户间网络隔离,实例的网络访问在账户间天然隔离;支持管理流的 CAM 鉴权及数据流的 SASL 权限控制,严格控制访问权限。

统一运维监控

提供腾讯云平台整套的运维服务,包括租户隔离、权限控制、消息堆积查询、消费者详情查看等多维度监控告警等运维服务。

功能

收发解耦

削峰填谷

顺序读写

异步通信

收发解耦


有效解耦生产者、消费者之间的关系。在确保同样的接口约束的前提下,允许独立扩展或修改生产者/消费者间的处理过程。

削峰填谷


消息队列 CKafka 版 能够抵挡突增的访问压力,不会因为突发的超负荷的请求而完全崩溃,有效提升系统健壮性。

顺序读写


消息队列 CKafka 版 能够保证一个 Partition 内消息的有序性。和大部分的消息队列一致,消息队列 CKafka 版 可以保证数据按照顺序进行处理,极大提升磁盘效率。

异步通信


在业务无需立即处理消息的场景下,消息队列 CKafka 版 提供了消息的异步处理机制,访问量高时仅将消息放入队列中,在访问量降低后再对消息进行处理,缓解系统压力。

功能


有效解耦生产者、消费者之间的关系。在确保同样的接口约束的前提下,允许独立扩展或修改生产者/消费者间的处理过程。


消息队列 CKafka 版 能够抵挡突增的访问压力,不会因为突发的超负荷的请求而完全崩溃,有效提升系统健壮性。


消息队列 CKafka 版 能够保证一个 Partition 内消息的有序性。和大部分的消息队列一致,消息队列 CKafka 版 可以保证数据按照顺序进行处理,极大提升磁盘效率。


在业务无需立即处理消息的场景下,消息队列 CKafka 版 提供了消息的异步处理机制,访问量高时仅将消息放入队列中,在访问量降低后再对消息进行处理,缓解系统压力。

应用场景

消息队列 CKafka 版 结合大数据套件 EMR,构建完整的日志分析系统。首先通过部署在客户端的 agent 进行日志采集,并将数据聚合到消息队列 CKafka 版,之后通过后端的大数据套件如 Spark 等进行数据的多次计算消费,并且对原始日志进行清理,落盘存储或进行图形化展示。

消息队列 CKafka 版 结合流计算 SCS , 用于实时/离线数据处理及异常检测,满足不同场景需要:

  • 对实时数据进行分析和展示,并做异常检测,快速定位系统问题。
  • 消费历史数据进行落盘存储和离线分析,对数据进行二次加工,生成趋势报表等。

消息队列 CKafka 版 结合无服务器云函数 SCF , 可用于日志消费处理、微服务以及大数据分析等场景。同时支持自定义数据处理,满足不同场景下的消息转储需求。

CKafka 连接器可应用在需要进行数据上报的场景。如手机 App 的操作行为分析、前端页面的 Bug 日志上报、业务数据的上报等等。一般情况下,这些上报的数据都需要转储到下游的存储分析系统里面进行处理(如 Elasticsearch,HDFS 等)。在常规操作中,我们需要搭建 Server、购买存储系统、并在中间自定义代码进行数据接收、处理、转储等。流程繁琐,长期系统维护成本高。

CKafka 连接器旨在用 SaaS 化的思路解决这个问题,目标是通过如下两步:界面配置、SDK 上报,完成整个链路的搭建,并基于 Serverless 理念,以按量计费,弹性伸缩,无需预估容量等方式,简化客户的研发投入成本和实际的使用成本。

CKafka 连接器支持基于 CDC(Change Data Capture)机制订阅多款数据库的变更数据。如订阅MySQL 的 Binlog,MongoDB 的 Change Stream,PostgreSQL 的行级的数据变更(Row-level Change),SQL Server 的行级的数据变更(Row-level Change)等。例如,在实际业务使用过程当中,业务经常需要订阅 MySQL 的 Binlog 日志,获取 MySQL 的变更记录(Insert、Update、Delete、DDL、DML 等),并针对这些数据进行对应的业务逻辑处理,如查询、故障恢复、分析等。

在默认情况下,客户往往需要自定义搭建基于 CDC 的订阅组件如(Canal、Debezium、Flink CDC 等)来完成对数据库的数据订阅。而在搭建、运维这些订阅组件的过程中,人力投入成本较高,需要搭建配套的监控体系,保证订阅组件的稳定运行。

基于此种情况,CKafka 连接器提供 SaaS 化的组件,通过界面配置化的完成数据的订阅、处理、转储等整个流程。

CKafka 连接器支持将不同环境(腾讯公有云、用户自建 IDC、跨云、混合云等)的不同数据源(数据库、中间件、日志、应用系统等)的数据集成到公有云的消息队列服务中,以便进行数据的处理和分发。在实际业务过程中,用户经常需要将多个数据源的数据汇总到消息队列中,例如同一个应用业务客户端数据、业务 DB 的数据、业务的运行日志数据汇总到消息队列中进行分析处理。正常情况下,需要先将这些数据进行清洗格式化后,再做统一的转储、分析或处理。

CKafka 连接器提供了数据聚合、存储、处理、转储的能力。简而言之,就是提供数据集成的能力,将不同的数据源连接到下游的数据目标中。

定价

CKafka既可以根据实际使用量按量收费,又可以按包年包月的方式收费,如需了解更多详情,请查阅计费概述