Kafka позволяет развести приём аудита и обработку, но нужны партиционирование, пакетная запись и хранилище под запросы и срок хранения. Сотни тысяч событий требуют расчёта объёма.
А если все сервисы пишут такие сообщения в Kafka, и нагрузка достаточно высокая — сотни тысяч сообщений в секунду, как бы вы организовали аудит в этом случае?
Kafka позволяет развести приём аудита и обработку, но нужны партиционирование, пакетная запись и хранилище под запросы и срок хранения. Сотни тысяч событий требуют расчёта объёма.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Kafka позволяет развести приём аудита и обработку, но нужны партиционирование, пакетная запись и хранилище под запросы и срок хранения. Сотни тысяч событий требуют расчёта объёма.
Событие содержит уникальный ID, время, сервис и тип действия без лишних персональных данных. Consumers пишут идемпотентно и подтверждают offset после устойчивого сохранения. Отдельно задают retention, архивирование, контроль lag и обратное давление. Для обязательного аудита нельзя просто терять события при переполнении или заменять их sampling.