Kafka:优点和缺点17 Mar 2025 | 阅读 2 分钟  Apache Kafka 的优点以下 Apache Kafka 的优点使其值得 - 低延迟: Apache Kafka 提供低延迟值,即高达 10 毫秒。这是因为它将消息解耦,允许使用者随时使用该消息。
- 高吞吐量: 由于低延迟,Kafka 能够处理更多数量的高容量和高速度的消息。Kafka 每秒可以支持数千条消息。 许多公司(如 Uber)使用 Kafka 来加载大量数据。
- 容错性: Kafka 具有一项基本功能,可提供对集群内节点/机器故障的抵抗力。
- 持久性: Kafka 提供复制功能,这使得数据或消息在磁盘上更持久地存在于集群中。 这使其具有持久性。
- 减少了对多种集成的需求: 生产者编写的所有数据都通过 Kafka。因此,我们只需要与 Kafka 创建一个集成,它会自动将我们与每个生产和消费系统集成。
- 易于访问: 由于我们所有的数据都存储在 Kafka 中,因此任何人都可以轻松访问它。
- 分布式系统: Apache Kafka 包含一个分布式架构,使其具有可扩展性。 分区和复制是分布式系统下的两个功能。
- 实时处理: Apache Kafka 能够处理实时数据管道。构建实时数据管道包括处理器、分析、存储等。
- 批量方法: Kafka 使用类似批处理的用例。 由于其数据持久性能力,它也可以像 ETL 工具一样工作。
- 可扩展性: Kafka 同时处理大量消息的质量使其成为一种可扩展的软件产品。
Apache Kafka 的缺点除了上述优点外,Apache Kafka 还有以下限制/缺点 - 没有完整的监控工具集: Apache Kafka 不包含完整的监控和管理工具集。 因此,新的初创企业或企业害怕使用 Kafka。
- 消息调整问题: Kafka 代理使用系统调用将消息传递给消费者。 如果消息需要一些调整,Kafka 的性能会显着降低。 因此,如果消息不需要更改,它会运行良好。
- 不支持通配符主题选择: Apache Kafka 不支持通配符主题选择。 相反,它只匹配确切的主题名称。 这是因为选择通配符主题使其无法处理某些用例。
- 降低性能: 代理和使用者通过压缩和解压缩数据流来降低 Kafka 的性能。 这不仅会影响其性能,还会影响其吞吐量。
- 笨拙的行为: 当 Kafka 集群中的队列数量增加时,Apache Kafka 通常表现得有点笨拙。
- 缺少一些消息范式: 对于某些用例,Kafka 中缺少某些消息范式,例如点对点队列、请求/回复等。
|