Post #12017
390
☀Объяснение:
По умолчанию Kafka сбрасывает данные на диск не сразу, а через интервал (чтобы повысить производительность). При внезапном отключении питания данные, ещё находящиеся в кэше ОС, теряются. Настройка
Альтернатива: использовать репликацию с
Реальный пример: В системе финансового мониторинга настроили персистентность Kafka, и даже при аварийном отключении не потеряли ни одного события.
Что должен зафиксировать аналитик:
Требование к durability (гарантия сохранности) — допускается ли потеря сообщений?
Для критичных логов — обязательная синхронная запись на диск.
По умолчанию Kafka сбрасывает данные на диск не сразу, а через интервал (чтобы повысить производительность). При внезапном отключении питания данные, ещё находящиеся в кэше ОС, теряются. Настройка
flush.messages=1 заставляет Kafka сбрасывать каждое сообщение на диск перед тем, как подтвердить продюсеру. Недостаток: падает производительность записи.Альтернатива: использовать репликацию с
acks=all и min.insync.replicas=2, но при падении всех брокеров данные могут потеряться, если не сброшены на диск.Реальный пример: В системе финансового мониторинга настроили персистентность Kafka, и даже при аварийном отключении не потеряли ни одного события.
Что должен зафиксировать аналитик:
Требование к durability (гарантия сохранности) — допускается ли потеря сообщений?
Для критичных логов — обязательная синхронная запись на диск.
