CKafka(Cloud Kafka)是一個分布式、高吞吐量、高可擴展性的消息系統(tǒng),****兼容開源 Kafka API(0.9、0.10版本)。CKafka 基于發(fā)布/訂閱模式,通過消息解耦,使生產者和消費者異步交互,無需彼此等待。CKafka 具有數據壓縮、同時支持離線和實時數據處理等優(yōu)點,適用于日志壓縮收集、監(jiān)控數據聚合等場景。
功能
消息隊列CKafka 解耦生產和消費,提供可擴展、低延遲、高性能消息傳輸能力。
收發(fā)解耦
CKafka 能夠有效解耦生產者、消費者之間的關系,允許用戶獨立的擴展或修改生產消費之間的處理過程,只要確保它們遵守同樣的接口約束即可。因此,CKafka 可以平滑替換傳統(tǒng)消息中間件,在起到解耦生產者、消費者和緩存未處理消息的同時,CKafka 擁有更大的吞吐量、更強的分區(qū)復制機制和容錯機制。
削峰填谷
在業(yè)務訪問量激增的情況下,系統(tǒng)應對突發(fā)的能力至關重要。但這種突發(fā)流量的情況并不常見,如果以業(yè)務訪問量峰值為標準投入資源則會導致資源的浪費。使用 CKafka 可以保證系統(tǒng)關鍵組件具有應對突發(fā)訪問壓力的能力,不會因為超負荷請求而導致系統(tǒng)完全崩潰。
水平擴展
由于消息的處理過程被解耦,只需要水平擴展處理過程,即可有效增加消息的入隊效率和處理效率,十分靈活。在具體實現上,CKafka 一個 Topic 可分多個 Partition, 并分布在一個或多個 Broker 上。一個消費者可訂閱其中一個或者多個 Partition,生產者負責將消息均衡分配到對應的 Partition。因此,增加 Broker 可以水平擴展集群,一般 Broker 數量越多,集群吞吐率越高。
一次生產多次消費
CKafka 支持隊列、發(fā)布訂閱多種模式,Topic 支持分區(qū)(Partition)概念,不同分區(qū)可以落在不同 Broker, 有效增加吞吐量;此外,CKafka 支持發(fā)布/訂閱模式和多隊列模式,采用 Consumer Group 的策略,topic 在一個節(jié)點僅存儲一份數據,不同 Consumer Group 維護各自消費記錄數據。保證一次生產,多個 Consumer Group 消費的場景。