@jedidiah.brown
Архитектура Apache Kafka Connect состоит из следующих компонентов:
- Connectors: Стандартные или настраиваемые плагины, которые определяют, как данные из источника будут конвертироваться и записываться в Kafka и обратно. Connectors позволяют расширить функциональность Kafka Connect для поддержки различных источников данных, таких как базы данных, файлы, системы мониторинга и т. д.
- Tasks: Конкретные экземпляры Connectors, которые выполняют фактическую работу конвертации и записи данных. У каждого Connector может быть несколько Tasks, работающих параллельно, чтобы обеспечить масштабируемость и увеличить пропускную способность обработки данных.
- Workers: Рабочие процессы, которые выполняют задачи Connect в распределенной среде. Каждый Worker взаимодействует с Kafka, управляет конфигурацией и задачами Connectors, а также распределяет задачи между собой или другими Worker'ами.
- Connect API: Набор классов и интерфейсов, предоставляемых Kafka Connect, для создания собственных Connectors и расширения функциональности.
- Converters: Компоненты, которые обеспечивают конвертацию данных из формата, специфичного для источника, в формат, понятный Kafka, и обратно. Kafka Connect поддерживает конвертеры для различных форматов, таких как JSON, Avro, строковый и бинарный форматы данных.
- Connect REST API: REST API, которое предоставляет возможность управления Connectors, задачами и конфигурациями Kafka Connect через HTTP-запросы. REST API также позволяет управлять состоянием и мониторингом Connectors и задач.
- Offset Storage: Механизм для хранения состояния смещения (offset) данных для каждого задания Connectors. Offset Storage может использовать Kafka, базу данных или другой внешний источник для сохранения смещений, чтобы обеспечить точную обработку и восстановление после сбоев.
- Cluster Coordination: Координация задач и работников в распределенной среде. Кластерная координация управляет распределенными задачами Connectors, перераспределяет задачи между рабочими и поддерживает целостность состояния Connectors.
Все эти компоненты работают вместе для обеспечения надежной и масштабируемой инфраструктуры для потоковой обработки данных с помощью Apache Kafka Connect.