更新时间:2023-08-16 GMT+08:00

与DMS高级队列的差异

除了Kafka专享实例,分布式消息服务DMS的高级队列类型也兼容Kafka协议,二者在使用上有部分差异。

兼容社区版本

  • DMS高级队列

    DMS高级队列基于Kafka社区0.10.2.1版本。

  • Kafka专享实例

    基于Kafka社区版1.1.0、2.3.0和2.7。

    Kafka的每一次版本升级,会新增一些特性,调整部分API的参数,并更新消费或生产消息的配置文件。建议参考Kafka开源版本变更说明,核对您的应用程序使用的特性或API是否与服务端版本兼容。

创建

  • DMS高级队列

    DMS高级队列支持在控制台直接创建队列(即Topic),存储空间与网络带宽等资源由系统自动分配,不需要用户单独选择。

  • Kafka专享实例

    Kafka专享版需要先在Kafka云服务控制台创建一个Kafka实例,创建前建议结合1~2年内业务发展预期,规划网络带宽和存储空间,创建虚拟私有云和安全组。

    实例创建成功后,还需要创建Topic,规划分区数、副本数等配置信息。

使用

  • DMS高级队列

    兼容Kafka原生API,当前提供了Java、Python、Lua、C、Go等语言的客SDK。

    如果您希望使用原生客户端,请参考开发指南的增强版Java SDK使用说明,将Kafka提供的SDK增强包补充到原生客户端中,完成安全通信认证。

  • Kafka专享实例

    完全兼容社区版本,您可以直接使用Kafka的开源客户端连接Kafka实例与Topic。如果使用SASL方式连接,需要获取Kafka提供的SSL证书。

性能

  • DMS高级队列

    分“高吞吐”和“高可靠”两种类型,其中高吞吐采用异步写入磁盘方式,提升并发性能。

  • Kafka专享版实例

    计算、带宽、存储资源独占,性能稳定,按照您的业务量规划,在创建实例阶段选择合适的带宽与存储空间。其中存储空间可以选择“超高IO类型”,使用SSD固态硬盘存储消息。

其他差异

专享版支持自定义分区数,每个Topic的分区数可设为1-100。支持自定义副本数,每个Topic的副本数可设为1-3。

DMS高级队列的分区数默认为3,副本数默认为3,不支持自定义。

为Topic设置合理的分区数,消息均匀地分布到所有分区中,能够实现负载均衡与水平扩展。同时,不同的消费者可以从一个或者多个分区中同时消费消息,提升消息处理能力。

副本数越多,消息越可靠,但副本间的消息同步也会消耗带宽与计算性能。