📜  Apache Kafka与Apache Storm

📅  最后修改于: 2021-01-05 03:03:47             🧑  作者: Mango

Apache Kafka与阿帕奇风暴

阿帕奇风暴

它是一个开源的实时流处理系统。 Apache Storm主要用于固定传统流程。它可靠地处理无限制的流。它具有喷嘴和螺栓,用于以拓扑形式设计风暴应用程序。任何编程语言都可以使用它。因此,使用简单。它可以在一秒钟内处理数百万条消息。

kafka vs.风暴

Kafka和Storm之间有以下区别:

Parameters Apache Kafka Apache Storm
Developers Originally developed by LinkedIn. Then, it was donated to Apache Foundation. Originally created by Nathan Marz (Backtype team). Later, acquired by Twitter. Further, it became the top-level project of Apache.
Programming Language Apache Kafka is written in Scala with JVM. Apache Storm is written in Clojure and Java.
Type of system It is a distributed messaging system. It is a real-time message processing system.
Primarily used for It is used as a message broker. But, it also does small-batch processing. It is used for micro-batch stream processing.
Data Storage It maintains the local file system, such as XFS or EXT4, for storing the data. It does not store the data. It transfers the data from the input stream to the output stream.
Depends on Apache Kafka depends on the zookeeper to run the Kafka server and let the consumer/producer to read/write the messages to Kafka. Apache Storm has no external dependency.
Latency The latency power of Kafka is millisecond. It has a latency power of less than 1-2 seconds. It is because it depends on the data source.
Language Support Best supported by Java programming language. It supports all programming languages.
Security Data is not highly secure. Data is highly secured.
Data source It takes data from the actual data sources such as facebook, twitter, etc. It fetches data from the Kafka itself for processing.
Fault-tolerant Due to zookeeper, it is able to tolerate the faults. It has an in-built feature of auto-restarting.
Developers Experience It is durable, scalable, as well as gives high-throughput value. It is easy and flexible to use.