Мы настоятельно рекомендуем использовать сжатие для топиков Kafka. Сжатие позволяет существенно сократить затраты на передачу данных практически без ущерба для производительности.
Чтобы узнать больше о сжатии сообщений в Kafka, рекомендуем начать с этого руководства.
DEFAULT не поддерживается.
- По умолчанию размер отдельного сообщения ограничен 16 МБ (без сжатия) при использовании реплики минимального размера (XS) и 32 МБ (без сжатия) при использовании реплик большего размера. Сообщения, превышающие этот лимит, будут отклонены с ошибкой. Если вам нужны сообщения большего размера, обратитесь в службу поддержки.
ClickPipes for Kafka обеспечивает семантику доставки at-least-once (это один из самых распространённых подходов). Будем рады получить ваши отзывы о семантике доставки через контактную форму. Если вам нужна семантика «ровно один раз», рекомендуем использовать наш официальный коннектор-приёмник clickhouse-kafka-connect.
Для источников данных, использующих протокол Apache Kafka, ClickPipes поддерживает аутентификацию SASL/PLAIN с шифрованием TLS, а также SASL/SCRAM-SHA-256 и SASL/SCRAM-SHA-512. В зависимости от источника стриминга (Redpanda, MSK и т. д.) будут доступны все или только некоторые из этих механизмов аутентификации — в зависимости от совместимости. Если вам нужны другие способы аутентификации, пожалуйста, сообщите нам об этом.
Размер выборки в Warpstream
ClickPipes используют параметр Kafka max.fetch_bytes, чтобы ограничить размер данных, одновременно обрабатываемых одним узлом ClickPipes. В некоторых случаях
Warpstream игнорирует этот параметр, что может приводить к непредвиденным сбоям пайпов. Мы настоятельно рекомендуем при настройке агента WarpStream установить специальный параметр Warpstream kafkaMaxFetchPartitionBytesUncompressedOverride
в значение 8 MB (или меньше), чтобы предотвратить сбои ClickPipes.
ClickPipes поддерживает следующие способы аутентификации AWS MSK
При использовании аутентификации IAM для подключения к брокеру MSK роль IAM должна иметь необходимые разрешения.
Ниже приведен пример необходимой политики IAM для API Apache Kafka в MSK:
Настройка доверительной связи
Если вы выполняете аутентификацию в MSK с помощью ARN роли IAM, вам нужно настроить доверительную связь между вашим экземпляром ClickHouse Cloud и этой ролью, чтобы экземпляр мог принять роль.
Доступ на основе ролей работает только для экземпляров ClickHouse Cloud, развернутых в AWS.
Пользовательские сертификаты
ClickPipes for Kafka поддерживает загрузку пользовательских сертификатов для брокеров Kafka, использующих непубличные серверные сертификаты.
Также можно загружать клиентские сертификаты и ключи для аутентификации на основе взаимного TLS (mTLS).
ClickPipes вставляет данные в ClickHouse батчами. Это позволяет избежать создания слишком большого количества частей в базе данных, что может привести к проблемам с производительностью кластера.
Батчи вставляются при выполнении одного из следующих условий:
- Размер батча достиг максимального значения (100 000 строк или 28 МБ на 1 ГБ памяти пода)
- Батч оставался открытым в течение максимально допустимого времени (5 секунд)
Задержка (определяемая как время между публикацией сообщения в Kafka и моментом, когда оно становится доступным в ClickHouse) зависит от ряда факторов (например, задержки брокера, сетевой задержки, размера/формата сообщения). Батчинг, описанный в разделе выше, также влияет на задержку. Мы всегда рекомендуем тестировать ваш конкретный сценарий при типичных нагрузках, чтобы определить ожидаемую задержку.
ClickPipes не предоставляет никаких гарантий по задержке. Если у вас есть строгие требования к низкой задержке, пожалуйста, свяжитесь с нами.
ClickPipes for Kafka поддерживает горизонтальное и вертикальное масштабирование. По умолчанию создается группа потребителей с одним потребителем. Это можно настроить при создании ClickPipe или позже в разделе Настройки -> Дополнительные настройки -> Масштабирование.
ClickPipes обеспечивает высокую доступность благодаря архитектуре, распределенной по зонам доступности.
Для этого необходимо масштабирование как минимум до двух потребителей.
Независимо от количества работающих потребителей отказоустойчивость обеспечивается на уровне архитектуры.
Если потребитель или базовая инфраструктура выйдет из строя,
ClickPipe автоматически перезапустит потребителя и продолжит обработку сообщений.
Ниже приведены несколько неформальных бенчмарков для ClickPipes for Kafka, которые помогут получить общее представление о базовой производительности. Важно учитывать, что на производительность влияет множество факторов, включая размер сообщений, типы данных и формат данных. Фактические результаты могут отличаться, и приведенные здесь значения не гарантируют такой же производительности в реальных условиях.
Детали бенчмарка:
- Мы использовали сервисы ClickHouse Cloud в продакшн-конфигурации с достаточным объемом ресурсов, чтобы пропускная способность не упиралась в обработку вставки на стороне ClickHouse.
- Сервис ClickHouse Cloud, кластер Kafka (Confluent Cloud) и ClickPipe работали в одном регионе (
us-east-2).
- ClickPipe был настроен с одной репликой размера L (4 GiB оперативной памяти и 1 vCPU).
- Тестовые данные включали вложенные структуры и сочетание типов
UUID, String и Int. Другие типы данных, такие как Float, Decimal и DateTime, могут давать более низкую производительность.
- Заметной разницы в производительности между сжатыми и несжатыми данными не наблюдалось.
Последнее изменение 25 июня 2026 г.