KAFKA PRESENTATION (1)
KAFKA PRESENTATION (1)
Apache Kafka
Producers are those client applications that publish (write) events to Kafka, and consumers are those
that subscribe to (read and process) these events. In Kafka, producers and consumers are fully
decoupled and agnostic of each other, which is a key design element to achieve the high scalability
that Kafka is known for. For example, producers never need to wait for consumers. Kafka provides
various guarantees such as the ability to process events exactly-once.
Events are organized and durably stored in topics. Very simplified, a topic is similar to a folder in a
filesystem, and the events are the files in that folder. An example topic name could be
"payments". Topics in Kafka are always multi-producer and multi-subscriber: a topic can have
zero, one, or many producers that write events to it, as well as zero, one, or many consumers that
subscribe to these events. Events in a topic can be read as often as needed—unlike traditional
messaging systems, events are not deleted after consumption. Instead, you define for how long
Kafka should retain your events through a per-topic configuration setting, after which old events
will be discarded. Kafka's performance is effectively constant with respect to data size, so storing
data for a long time is perfectly fine.
Topics are partitioned, meaning a topic is spread over a number of "buckets" located on different
Kafka brokers. This distributed placement of your data is very important for scalability because it
allows client applications to both read and write the data from/to many brokers at the same time.
When a new event is published to a topic, it is actually appended to one of the topic's partitions.
Events with the same event key (e.g., a customer or vehicle ID) are written to the same partition,
and Kafka guarantees that any consumer of a given topic-partition will always read that partition's
events in exactly the same order as they were written.
The Google Translate app
can repeat anything you
say in up to NINETY
LANGUAGES from Tip
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
.\bin\windows\kafka-server-start.bat .\config\server.properties
Source: theguardian.com