Application/Kafka

https://codingharbour.com/apache-kafka/the-introduction-to-kafka-topics-and-partitions/
https://www.baeldung.com/java-kafka-message-key
https://www.tutorialspoint.com/apache_kafka/apache_kafka_simple_producer_example.htm
https://www.javaguides.net/2023/09/apache-kafka-quiz.html
https://docs.confluent.io/kafka/kafka-apis.html
==Producer ==
1) Properties
2) create KafkaProducer from Properties
3) create ProducerRecord
4) producer.send(record)
5) producer flush
6) producer close
==Consumer ==
1) Properties
2) create KafkaConsumer from Properties
3) subscrime
4) poll into ConsumerRecords
5) iterate ConsumerRecord(s)
== APIs ==
Consumer API
Producer API
Kafka Stream API
Connect API
Admin Client API
== Other ==
Kafka uses checksums to ensure data integrity
Kluster is a group of Brokers working together
Data is replicated across multiple brokers in the cluster to ensures the data is not lost when a Broker goes down
Kafka consumes messages from newest/latest offset
For durability, data is stored persistently by storing records on disk and replicating data across multiple brokers.
Kafka creates replicas incase a Kafka broker fails. Kafka topics are replicated across multiple brokers to ensure data availability in case of a broker failure.
Apache ZooKeeper is an open-source server for highly reliable distributed coordination of cloud applications. Zookeeper manages topic and partition metadata. If ZooKeeper fails in a Kafka cluster, New topics cannot be created, but existing topics will continue to function, since the brokers have the information they need for ongoing operations. However, operations that require coordination, such as creating new topics, will not be possible until ZooKeeper is restored.