Дизайн Kafka, мотивация
Kafka была разработана, чтобы быть способной действовать как унифицированная платформа для обработки всех потоков данных в реальном времени, которые могут быть у крупной компании. Для этого пришлось продумать довольно широкий набор сценариев использования.
Она должна обладать высокой пропускной способностью для поддержки потоков событий большого объема, таких как агрегация журналов в реальном времени.
Чтобы иметь возможность поддерживать периодическую загрузку данных из автономных систем, необходимо аккуратно обрабатывать большие объемы невыполненных заданий.
Это также означало, что система должна будет обрабатывать доставку с малой задержкой для обработки более традиционных сценариев использования сообщений.
Планировалось поддерживать разделенную, распределенную обработку этих каналов в реальном времени для создания новых производных каналов. Это мотивировало модель разделения (partitioning) и потребителя.
Наконец, в случаях, когда поток передается в другие системы данных для обслуживания, система должна быть способна гарантировать отказоустойчивость при наличии сбоев машины.
Поддержка такого использования привела к дизайну с рядом уникальных элементов, больше похожим на журнал базы данных, чем на традиционную систему обмена сообщениями.
Читайте также:
Комментарии
Отправить комментарий