Apache Kafka 简明教程
Apache Kafka - Introduction
大数据中使用大量数据。关于数据,我们有两个主要挑战。第一个挑战是如何收集大量数据,第二个挑战是如何分析收集到的数据。为了应对这些挑战,你肯定需要一个消息传递系统。
Kafka 是专为分布式高吞吐量系统而设计的。Kafka 作为更传统的消息代理的替代品往往能很好地工作。与其他消息传递系统相比,Kafka 具有更好的吞吐量、内置分区、复制和固有的容错性,这使其非常适合大规模消息处理应用程序。
What is a Messaging System?
消息传递系统负责在应用程序之间传输数据,因此应用程序可以专注于数据,而不用担心如何共享数据。分布式消息传递基于可靠消息排队的概念。消息在客户端应用程序和消息传递系统之间异步排队。有两种消息传递模式可用 - 一种是点对点,另一种是发布订阅 (pub-sub) 消息传递系统。大多数消息传递模式遵循 pub-sub 。
What is Kafka?
Apache Kafka 是一个分布式发布订阅消息传递系统,也是一个可以处理大量数据的健壮队列,它使你可以将消息从一个端点传递到另一个端点。Kafka 适用于离线和在线消息消费。Kafka 消息保存在磁盘上并在集群内复制以防止数据丢失。Kafka 构建在 ZooKeeper 同步服务的基础之上。它与 Apache Storm 和 Spark 集成得很好,可用于实时流数据分析。
Benefits
以下是 Kafka 的一些优点 −
-
Reliability - Kafka 是分布式的、分区的、复制的和容错的。
-
Scalability - Kafka 消息传递系统无需停机即可轻松扩展。
-
Durability - Kafka 使用分布式提交日志,这意味着消息会尽可能快地保存在磁盘上,因此它具有持久性。
-
Performance - Kafka 对发布和订阅消息都具有很高的吞吐量。即使存储了大量 TB 的消息,它也能保持稳定的性能。
Kafka 非常快,并且保证零停机时间和零数据丢失。