📜  Apache Kafka的优点和缺点

📅  最后修改于: 2021-01-05 02:41:25             🧑  作者: Mango

kafka :优点和缺点

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通常表现得有些笨拙。
  • 缺少某些消息范例:在某些用例中,某些消息范例(如点对点队列,请求/答复等)缺失。