diff --git a/_inbox/Kafka.md b/_inbox/Kafka.md index b317c5da..e71f6961 100644 --- a/_inbox/Kafka.md +++ b/_inbox/Kafka.md @@ -27,6 +27,12 @@ Apache Kafka – это платформа потоковой передачи, В отличии от [RabbitMQ](00%20RabbitMQ.md) кафка не реализует какой-то роутинг внутри. Предполагается, что за это отвечает consumer. +Терминология: +- Record - запись состоящая из ключа и значения +- Topic - имя потока, куда публикуются Record +- Offset - позиция записи +- Pratition - шард топика + Доставка сообщений в Kafka может осуществляться как минимум тремя способами: - не менее одного раза (at-least-once) – сообщение будет отправляется потребителям до тех пор, пока те не подтвердят его получение; - не более одного раза (at-most-once) – сообщение отправляется только один раз и в случае сбоя не отправляется повторно; @@ -52,4 +58,6 @@ Apache Kafka – это платформа потоковой передачи, - Отправленные сообщения не удаляются после прочтения. - Позволяет повторно считать данные с любого места. Например, мы выполняли какую-то бухгалтерскую логику и поняли, что в приложении была допущена ошибка в формуле расчета. Мы можем удалить невалидные данные, поправить формулу и заново считать все старые сообщения. - Можно настроить ротацию, чтобы старые сообщения удалялись. -- Для улучшения производительности желательно под кафку выделять отдельные жесткие диски. Менее актуально для SSD. \ No newline at end of file +- Для улучшения производительности желательно под кафку выделять отдельные жесткие диски. Менее актуально для SSD. +- Есть возможность сжатия данных в топике. Аля архивация. +- Использует zookeeper для хранения мета-данных. В новых версиях может уже не использовать. \ No newline at end of file