CKafka(Cloud Kafka)是一个分布式、高吞吐量、高可扩展性的消息系统,兼容开源 KafkaAPI(0.9、0.10版本)。CKafka 基于发布/订阅模式,通过消息解耦,使生产者和消费者异步交互,无需彼此等待。CKafka具有数据压缩、支持离线和实时数据处理等优点,适用于日志压缩收集、监控数据聚合等场景。
功能
消息队列CKafka解耦生产和消费,提供可扩展、低延迟、高性能消息传输能力。
收发解耦
CKafka能够有效解耦生产者、消费者之间的关系,允许用户独立的扩展或修改生产消费之间的处理过程,只要确保它们遵守同样的接口约束即可。
CKafka 可以平滑替换传统消息中间件,在起到解耦生产者、消费者和缓存未处理消息的CKafka拥有更大的吞吐量、更强的分区复制机制和容错机制。
削峰填谷
在业务访问量激增的情况下,系统应对突发的能力至关重要。但这种突发流量的情况并不常见,如果以业务访问量峰值为标准投入资源则会导致资源的浪费。
使用 CKafka 可以保证系统关键组件具有应对突发访问压力的能力,不会因为超负荷请求而导致系统完全崩溃。
水平扩展
由于消息的处理过程被解耦,只需要水平扩展处理过程,即可有效增加消息的入队效率和处理效率,十分灵活。
在具体实现上,CKafka 一个 Topic 可分多个 Partition, 并分布在一个或多个 Broker 上。
一个消费者可订阅其中一个或者多个 Partition,生产者负责将消息均衡分配到对应的 Partition。增加 Broker可以水平扩展集群,一般 Broker 数量越多,集群吞吐率越高。
一次生产多次消费
CKafka 支持队列、发布订阅多种模式,Topic支持分区(Partition)概念,不同分区可以落在不同 Broker, 有效增加吞吐量;CKafka支持发布/订阅模式和多队列模式,采用 Consumer Group 的策略,topic 在一个节点仅存储一份数据,不同Consumer Group 维护各自消费记录数据。保证一次生产,多个 Consumer Group消费的场景。