Kafka Wonders On The Backend
Today, everyone who uses Cloud applications expects real-time responses. And Kafka is the magic in the Backend.
What is Kafka? Check out this article that has us Get it ready for all of you.
What is KAFKA?
Apache Kafka is a distributed platform for data streaming. Basically, Apache Kafka is a publish/subscribe messaging, where there is one or more systems thatgenerate data for a particular topic in a real-time in Apache Kafka (referred to as Producers).
Then, the topic can be read by one or more systems that need data from the topic in a timely manner real-time (referred to as Consumers).
1. Apache Kafka Feature
- Producer It is a process or system that can publish data to a topic.
- Consumer is a process or system that can perform subscription to one or more topics and process data from those topics.
- Topic is the name of a feed.
- Broker is an Apache Kafka instance running on a single machine.
- Cluster is a group of brokers who work together.
- Partition is a data grouping topic which is broken down into small parts. For example, a topic stores user login information, then the data on the topic can be divided based on the initial letter of the username.
- Offset be array index which Apache Kafka uses as unique identifier for each data on a single partition.
2. Key Advantages of Apache Kafka
Apache Kafka can store, receive and send data or messages from various node.
Apache Kafka dapat bekerja dengan baik dalam suatu kelompok atau cluster, so that with the increasing volume and speed of the data flow that must be processed, we only need to add a new machine to the cluster without having to do vertical-scaling.
One of the disadvantages of a centralized (undistributed) system is that Single Point of Failure (SPoF). Whereas distributed systems are designed to accommodate in the event of a problem with one or more node, so node others can take the place of node problems, so that the entire system is not disturbed. In Apache Kafka, there is a partition leader that acts as the main node, where the partition leader replicates the data it receives to other nodes, which is called followers.