Need advice about which tool to choose?Ask the StackShare community!
Apache NiFi vs Kafka Streams: What are the differences?
Apache NiFi: A reliable system to process and distribute data. An easy to use, powerful, and reliable system to process and distribute data. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation logic; Kafka Streams: A client library for building applications and microservices. It is a client library for building applications and microservices, where the input and output data are stored in Kafka clusters. It combines the simplicity of writing and deploying standard Java and Scala applications on the client side with the benefits of Kafka's server-side cluster technology.
Apache NiFi and Kafka Streams can be primarily classified as "Stream Processing" tools.
According to the StackShare community, Apache NiFi has a broader approval, being mentioned in 10 company stacks & 12 developers stacks; compared to Kafka Streams, which is listed in 7 company stacks and 5 developer stacks.
Pros of Apache NiFi
- Visual Data Flows using Directed Acyclic Graphs (DAGs)16
- Free (Open Source)8
- Simple-to-use7
- Reactive with back-pressure5
- Scalable horizontally as well as vertically5
- Fast prototyping4
- Bi-directional channels3
- Data provenance2
- Built-in graphical user interface2
- End-to-end security between all nodes2
- Can handle messages up to gigabytes in size2
- Hbase support1
- Kudu support1
- Hive support1
- Slack integration1
- Support for custom Processor in Java1
- Lot of articles1
- Lots of documentation1
Pros of Kafka Streams
Sign up to add or upvote prosMake informed product decisions
Cons of Apache NiFi
- HA support is not full fledge2
- Memory-intensive2