華為云計算 云知識 Kafka與DMS高級隊列的差異
Kafka與DMS高級隊列的差異

除了Kafka專享實例,分布式消息服務(wù)DMS的高級隊列類型也兼容Kafka協(xié)議,二者在使用上有部分差異。

兼容社區(qū)版本

DMS高級隊列

DMS高級隊列基于Kafka社區(qū)0.10.2.1版本。

Kafka專享實例

基于Kafka社區(qū)版1.1.0。

Kafka的每一次版本升級,會新增一些特性,調(diào)整部分API的參數(shù),并更新消費或生產(chǎn)消息的配置文件。建議參考Kafka開源版本變更說明,核對您的應(yīng)用程序使用的特性或API是否與服務(wù)端版本兼容。

購買

DMS高級隊列

DMS高級隊列支持在控制臺直接創(chuàng)建隊列(即Topic),存儲空間與網(wǎng)絡(luò)帶寬等資源由系統(tǒng)自動按需分配,不需要用戶單獨選擇。

Kafka專享實例

Kafka專享版需要先在Kafka云服務(wù)控制臺創(chuàng)建一個Kafka實例,創(chuàng)建前建議結(jié)合1~2年內(nèi)業(yè)務(wù)發(fā)展預(yù)期,規(guī)劃網(wǎng)絡(luò)帶寬和存儲空間,創(chuàng)建 虛擬私有云 和安全組。

實例創(chuàng)建成功后,還需要創(chuàng)建Topic,規(guī)劃分區(qū)數(shù)、副本數(shù)等配置信息。

使用

DMS高級隊列

兼容Kafka原生API,當(dāng)前提供了Java、Python、Lua、C、Go等語言的客SDK,具體參考Kafka普通隊列開發(fā)指南。

如果您希望使用原生客戶端,請參考開發(fā)指南的增強版Java SDK使用說明,將華為云Kafka提供的SDK增強包補充到原生客戶端中,完成安全通信認(rèn)證。

Kafka專享實例

完全兼容社區(qū)版本,您可以直接使用Kafka的開源客戶端連接Kafka實例與Topic。如果使用SASL方式連接,需要獲取華為云Kafka提供的SSL證書。

性能

DMS高級隊列

分“高吞吐”和“高可靠”兩種類型,其中高吞吐采用異步寫入磁盤方式,提升并發(fā)性能。

Kafka專享版實例

計算、帶寬、存儲資源獨占,性能穩(wěn)定,按照您的業(yè)務(wù)量規(guī)劃,在創(chuàng)建實例階段選擇合適的帶寬與存儲空間。其中存儲空間可以選擇“超高IO類型”,使用SSD固態(tài)硬盤存儲消息。

其他差異

專享版支持自定義分區(qū)數(shù),每個Topic的分區(qū)數(shù)可設(shè)為1-20。支持自定義副本數(shù),每個Topic的副本數(shù)可設(shè)為1-3。

DMS高級隊列的分區(qū)數(shù)默認(rèn)為3,副本數(shù)默認(rèn)為3,不支持自定義,如有特殊需求,請?zhí)峁温?lián)系技術(shù)支持。

說明:

為Topic設(shè)置合理的分區(qū)數(shù),消息均勻地分布到所有分區(qū)中,能夠?qū)崿F(xiàn) 負載均衡 與水平擴展。同時,不同的消費者可以從一個或者多個分區(qū)中同時消費消息,提升消息處理能力。

副本數(shù)越多,消息越可靠,但副本間的消息同步也會消耗帶寬與計算性能。