产品优势

优势 腾讯云 CKafka 开源消息中间件
高性能

高吞吐量,生产性能高。

吞吐量是衡量中间件产品的一个重要指标,CKafka 集群性能强劲,生产性超越开源方案;此外,CKafka集群稳定性也有很好的保障。

性能没有保障,数据可靠性与性能难以兼顾。

高扩展性

基于腾讯自研的 CMQ 架构的 High Performance 存储引擎,在腾讯内部如大数据处理、日志系统等业务上得到广泛使用;

支持多队列,队列数量及队列存储容量可扩展性强;

底层系统根据业务规模自动弹性伸缩,上层业务无感知;

支持无限数量的消息服务,随时读取和写入无限数量的消息。

队列数量和消息堆积数量有限;

每个 IDC 机房必须重新部署购买并部署设备,非常繁琐。

业务安全

多维度的安全防护和防 DDoS 攻击服务;

不同租户间网络隔离,实例的网络访问在账户间天然隔离;

权限控制,在应用层上实现了来源 IP 白名单的鉴权机制。

安全防护功能有限;

考虑到公网的网络威胁,常常无法提供跨地域、跨 IDC 的公网服务。

统一运维

CKafka 提供腾讯云平台整套的运维服务,包括资源申请、租户隔离、权限控制、消息堆积查询、监控告警等运维服务,使您从繁琐的运维工作中解放出来,保证用户的产品体验;

及时有效的工单系统,24小时为您解答疑惑。

用户自己运维,设备管理繁琐,对故障缺乏有效的定位措施。

 

产品功能

收发解耦

CKafka能够有效解耦生产者、消费者之间的关系,允许用户独立的扩展或修改生产消费之间的处理过程,只要确保它们遵守同样的接口约束即可。

因此,CKafka可以平滑替换传统消息中间件,在起到解耦生产者、消费者和缓存未处理消息的同时,CKafka拥有更大的吞吐量、更强的分区复制机制和容错机制。

削峰填谷

在业务访问量激增的情况下,系统应对突发的能力至关重要。但这种突发流量的情况并不常见,如果以业务访问量峰值为标准投入资源则会导致资源的浪费。

使用CKafka可以保证系统关键组件具有应对突发访问压力的能力,不会因为超负荷请求而导致系统完全崩溃。

水平扩展

由于消息的处理过程被解耦,只需要水平扩展处理过程,即可有效增加消息的入队效率
和处理效率,十分灵活。

在具体实现上,CKafka一个Topic可分多个Partition, 并分布在一个或多个Broker上。
一个消费者可订阅其中一个或者多个Partition,生产者负责将消息均衡分配到对应的Partition。因此,增加Broker可以水平扩展集群,一般broker数量越多,集群吞吐率越高。

一次生产多次消费

CKafka支持队列、发布订阅多种模式,topic支持分区(partition)概念,不同分区可以落在不同broker, 有效增加吞吐量;

此外,CKafka支持发布/订阅模式和多队列模式,采用consumer group的策略,topic在一个节点仅存储一份数据,不同consumer group维护各自消费记录数据。保证一次生产,多个Consumer Group消费的场景。

 

应用场景

大数据场景

对于一些大数据相关的业务场景而言,需要对大量并发数据进行处理和汇总,此时对集群的处理性能和扩展性都有很高的要求。而CKafka在实现上,其数据分发机制,磁盘存储空间的分配、消息格式的处理、服务器选择以及数据压缩等方面,也决定其适合处理海量的实时消息,并能汇总分布式应用的数据,方便系统运维。

在具体的大数据场景中,CKafka能够很好地支持离线数据、流式数据的处理,并能够方便地进行数据聚合、分析等操作。

日志聚合

CKafka 提供了低延迟处理、易于支持多个数据源和分布式的数据处理(消费)的特性。相比于中心化的日志聚合系统,CKafka 可以在提供同样性能的条件下,实现更强的持久化保证以及更低的端到端延迟。

因此,CKafka 的特性决定它非常适合作为”日志收集中心”;多台主机/应用可以将操作日志”批量”“异步”的发送到 CKafka 集群中,而无需保存在本地或者 DB 中;CKafka 可以批量提交消息/压缩消息,这对生产者而言,几乎感觉不到性能的开支。此时 消费者可以使hadoop 等其他系统化的存储和分析系统对拉取日志进行统计分析。

网页活动追踪

CKafka通过实时处理网站活动(PV,搜索,用户其他活动等),并根据类型发布到topic中,这些信息流可以被用于实时监控或离线统计分析等。

由于每个用户的page view中会生成许多活动信息,因此网站活动跟踪需要很高的吞吐量,CKafka可以完美满足高吞吐、离线处理等要求。