diff --git a/_inbox/Kafka.md b/_inbox/Kafka.md index fafac6f7..a6f20384 100644 --- a/_inbox/Kafka.md +++ b/_inbox/Kafka.md @@ -15,6 +15,15 @@ Apache Kafka – это платформа потоковой передачи, ![](Pasted%20image%2020240703120512.png) +Характеристики: +- Гарантия доставки +- Репликация журнала и синхронизация реплик +- Уведомление о смещении (offset) получателя +- Уведомление о получении сообщения +- Хранит свои записи на диске и не использует RAM. Использует кэш диска +- Операции считывания и записи выполняются за константное время. +- Реализует последовательное чтение и запись на диск + Доставка сообщений в Kafka может осуществляться как минимум тремя способами: - не менее одного раза (at-least-once) – сообщение будет отправляется потребителям до тех пор, пока те не подтвердят его получение; - не более одного раза (at-most-once) – сообщение отправляется только один раз и в случае сбоя не отправляется повторно; @@ -38,6 +47,6 @@ Apache Kafka – это платформа потоковой передачи, - Реализована на Java - Не использует RAM для доступа к данным. - Отправленные сообщения не удаляются после прочтения. - - Позволяет повторно считать данные с любого места. Например, мы выполняли какую-то бухгалтерскую логику и поняли, что в приложении была допущена ошибка + - Позволяет повторно считать данные с любого места. Например, мы выполняли какую-то бухгалтерскую логику и поняли, что в приложении была допущена ошибка в формуле расчета. Мы можем удалить невалидные данные, поправить формулу и заново считать все старые сообщения. - Можно настроить ротацию, чтобы старые сообщения удалялись. - Для улучшения производительности желательно под кафку выделять отдельные жесткие диски. Менее актуально для SSD. \ No newline at end of file