З наведеного пункту перелічіть основні API у Кафці. Розділіть їх за допомогою кома.
Кафка зберігає ключові цінні повідомлення, які походять від довільно багатьох процесів, званих продюсерами. Дані можуть бути розділені на різні «партії» в межах різних «темів». У межах розділу повідомлення строго упорядковуються за їх компенсаціями (положенням повідомлення всередині розділу) і індексуються і зберігаються разом з тимчасовою маркою. Інші процеси, звані «споживачами», можуть читати повідомлення з розділів. Для потокової обробки Kafka пропонує API Streams, який дозволяє писати Java-програми, які споживають дані з Kafka і записують результати назад до Kafka. Apache Kafka також працює з зовнішніми системами обробки потоків, такими як Apache Apex, Apache Beam, Apache Flink, Apache Spark, Apache Storm і Apache NiFi.

Кафка працює на кластері одного або декількох серверів (так званих брокерів), а розділи всіх тем розподіляються по кластерних вузлах. Крім того, розділи реплікуються до декількох брокерів. Ця архітектура дозволяє Кафка доставляти масивні потоки повідомлень у відмінний від помилок спосіб і дозволила йому замінити деякі з традиційних систем обміну повідомленнями, таких як Java Message Service (JMS), Advanced Message Queuing Protocol (AMQP), і т.д. З моменту випуску 0.11.0.0, Kafka пропонує транзакційні написи, які забезпечують точну одноразову обробку потоків за допомогою API Streams.

Кафка підтримує два типи тем: регулярні та компактні. Регулярні теми можна налаштувати з часом зберігання або просторовим обмеженням. Якщо є записи, які старші за вказаний час зберігання або якщо обмеження простору перевищується для розділу, Кафка може видалити старі дані для вільного місця зберігання. За замовчуванням теми налаштовані з часом зберігання 7 днів, але також можна зберігати дані на невизначений термін. Для стиснутих тем записи не закінчуються за межами часу або простору. Замість цього, Кафка розглядає пізніші повідомлення як оновлення старих повідомлень з тим же ключем і гарантує, що він ніколи не видалить останнє повідомлення за ключем. Користувачі можуть видалити повідомлення повністю, написавши так зване гробничне повідомлення з нульовим значенням для конкретного ключа.

Існує п'ять основних API у Кафці:

API продюсера – дозволяє програмі публікувати потоки записів.
API для споживачів – дозволяє програмі підписуватися на теми та обробляти потоки записів.
Connector API - Виконує повторно використовувані API-провайдера та споживача, які можуть зв'язувати теми з існуючими додатками.
Streams API – Цей API перетворює вхідні потоки на вихід і виробляє результат.
Admin API - використовується для управління темами Kafka, брокерами та іншими об'єктами Kafka.
Інтерфейси споживача і виробника відключені від основної функціональності Kafka за допомогою основного протоколу обміну повідомленнями. Це дозволяє писати сумісні шари API на будь-якій мові програмування, які настільки ж ефективні, як Java API у поєднанні з Kafka. Проект Apache Kafka підтримує список таких сторонніх API.
Розробник API, споживчий API, API Connector, Streams API, Admin API