Kafka 特性和用例

作者 : 慕源网 本文共1126个字,预计阅读时间需要3分钟 发布时间: 2021-11-8 共186人阅读

在上一篇Kafka 基础和架构的文章中,我们讨论了 Kafka 背后的基本概念和架构。

在本文中,我们将讨论它的一些功能和不同的用例。

特征

因此,首先我们可以说 Kafka 是一个非常快速、高度可靠、速度极快的分布式发布订阅消息系统。

如今,全球许多大型科技巨头都在使用 Kafka,例如 Netflix、Twitter、LinkedIn、Uber 等。

Kafka 特性和用例

Kafka 因其出色的速度和性能而如此受欢迎。它真的很容易设置和使用。

Kafka 是分布式的,这意味着我们可以在需要时随时扩展它,并且因为它支持水平扩展,所以我们可以向 Kafka 集群添加新节点。

Kafka 具有非常低的延迟,每秒可以处理数百万条消息,这使得它易于用于数据的实时处理。

它是用 Scala 和 Java 编写的,具有非常高的吞吐量。

Kafka 与传统消息传递

现在,如果我们比较 Kafka 与传统消息传递系统,我们可以看到以下差异,

Kafka 具有记录保留功能,这意味着即使在消费后 Kafka 也会保留记录,默认为 7 天。

比如RabbitMQ向消费者推送消息,而Kafka支持消费者拉取消息。

与旨在垂直扩展的传统消息队列相反,它旨在水平扩展。

Kafka 还支持多个订阅者,这意味着如果多个消费者不属于同一个消费者组,则同一消息可以被多个消费者消费。

而在RabbitMQ中,一条消息只能被消费一次,一旦被消费,这条消息就会被删除。

Kafka每秒可以处理数百万条消息,节点数量很少,而RabbitMQ每秒也可以处理数百万条消息,但需要30个以上的节点。

Kafka 提供了消息排序的功能,消息通过 Key 发送给主题,而在 RabbitMQ 中不支持此功能。

用例

到目前为止,我们已经讨论了 Kafka 的一些重要功能,那么我们应该使用 Kafka 的最佳用例是什么。

其中一些在下面提到,

  • 它可以用于应用程序活动跟踪,我们实际上可以几乎实时地跟踪用户的活动。我们可以将每个事件发布到一个单独的主题,如用户点击、喜欢、搜索等。
  • 它可以用于日志,就像我们可以将日志发布到 Kafka 主题一样,然后可以将这些日志聚合或处理,然后可以将这些日志转换然后存储在日志存储系统中。
  • 它在实时数据处理中非常有用,例如,如果有任何欺诈活动或事件,那么我们可以发布关于特定主题的消息,并可以使用该消息来实时处理或阻止欺诈活动。
  • 如果我们谈论 Netflix,那么它就是使用 Kafka 作为实时监控系统。

Kafka 支持大规模消息处理能力,因为它具有内置分区和由于多个代理而具有非常高的容错能力。它还具有复制等功能,可以更轻松地替换传统消息代理。

概括

在本文中,我们讨论了 Kafka 功能和实际用例。在下一篇文章中,我们将实际设置 Kafka 并看看它是如何工作的。

我希望你觉得这篇文章有帮助。请继续关注更多


慕源网 » Kafka 特性和用例

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录