消息队列 for Apache Kafka 的包年包月预付费模式的专业版实例支持云存储和 Local 存储两种 Topic 的存储引擎,不同的存储引擎会影响您的使用成本。本文介绍这两种存储引擎的区别,帮助您进行选择。

云存储

云存储底层接入阿里云云盘的多副本能力,在消息队列 for Apache Kafka 层面,每个分区只需要 1 个副本。

例如,您实际的需求为 30 MB/s 峰值流量和 900 GB 磁盘容量,则购买 30 MB/s 峰值流量和 900 GB 磁盘容量即可。

特点

与 Local 存储相比,云存储有以下特点:

  • 相比于原生 Kafka 多副本机制,云存储有更低的存储成本和发送延迟。

  • 优化原生 Kafka 的碎片化存储问题,能支持更多分区。

  • 不支持 Compact。

  • 不支持幂等和事务。

Local 存储

Local 存储引擎使用原生 Apache Kafka 的 ISR 复制算法,3 副本,且 min.insync.replicas = 2。

例如,您实际的需求为 30 MB/s 峰值流量和 900 GB 磁盘容量,由于 3 副本机制,则需购买 90 MB/s 峰值流量和 2700 GB 磁盘容量。

特点

与云存储相比,Local 存储有以下特点:

  • 相比于云存储,Local 存储需要更高的存储成本、更高的流量成本且能创建的分区数更少。默认每个分区会创建 3 个副本,因此相较于云存储,Local 存储需要接近于 3 倍的存储、3 倍的流量以及 3 倍的分区数。

  • 支持 Compact、幂等和事务。

  • 默认为分区顺序消息。集群出现宕机时,会自动从 ISR 中选取新 Leader。

更多信息