12 KiB
Конфигурация кластера
О разделе
Данный раздел описывает технические параметры кластера Kafka и порядок их первичной конфигурации.
Настройка указанных параметров выполняется администратором облачного провайдера на этапе развертывания сервиса. Пользователь не имеет прямого доступа к их самостоятельной установке.
Перед созданием кластера клиент предоставляет перечень требуемых параметров менеджеру. Администратор облачного провайдера выполняет конфигурацию в соответствии с согласованными требованиями.
Выбор типа и размера дискового хранилища
Производительность брокера сообщений напрямую зависит от скорости, с которой он может читать и записывать данные на диск. При заказе кластера необходимо выбрать тип дискового хранилища, который определит максимальную скорость работы (IOPS) и время отклика.
- IOPS- количество операций чтения или записи, которые диск может выполнить за секунду. Чем выше этот показатель, тем быстрее брокер сообщений обрабатывает запросы.
-
: : info Каждые 15 IOPS обеспечивают примерно 1 мегабит в секунду (Мбит/с) скорости чтения или записи при размере блока данных 64 КБ.
- : :
Доступные типы хранилищ:
| Название | Лимит IOPS |
|---|---|
| Fast SAS | до 2 IOPS на 1 ГБ |
| SSD | до 5 IOPS на 1 ГБ |
| Fast SSD | до 10 IOPS на 1 ГБ |
| Ultra NVMe | до 25 IOPS на 1 ГБ |
- : : : info
- После выбора типа диска необходимо указать объем дискового хранилища, который будет выделен под данные кластера Kafka. Минимальный объем зависит от выбранного типа хранилища
- : :
Конфигурация вычислительных ресурсов
В данном разделе определяются вычислительные мощности кластера: процессорные ресурсы, оперативная память и количество серверов (нод), из которых будет состоять кластер Kafka.
Количество нод в кластере
Количество нод определяет отказоустойчивость кластера и возможность распределять запросы на чтение между репликами. Чем больше нод, тем выше надежность и производительность чтения. Количество нод выбирается в диапазоне от 3 до 14.
Процессор (CPU)
Процессор - это вычислительная мощность, которая выделяется каждой ноде кластера. Количество vCPU определяет, насколько быстро брокер сообщений сможет обрабатывать запросы, выполнять сложные операции (сортировки, объединения таблиц) и обслуживать одновременные подключения. Доступный диапазон выбора процессора: от 2 шт до 24 шт.
Оперативная память (RAM)
Оперативная память - один из ключевых ресурсов для производительности. Данные, помещающиеся в RAM, обрабатываются максимально быстро, без обращения к диску. Доступный диапазон выбора оперативной памяти: от 4 ГБ до 768 ГБ.
Интернет
При заказе сервиса можно выбрать пропускную способность канала связи, через который будет осуществляться доступ к кластеру Kafka из сети интернет.
Доступные варианты скорости:
- 50 Мбит/с;
- 100 Мбит/с;
- 200 Мбит/с;
- 300 Мбит/с;
- 400 Мбит/с;
- 500 Мбит/с;
- 1000 Мбит/с (1 Гбит/с).
- : : : info
- Для выбранного канала предоставляется публичный IP-адрес.
- : :
Сетевой доступ к кластеру
Для организации защищенного подключения к кластеру Kafka доступны стандартные механизмы, используемые во всех сервисах платформы:
- IPsec-подключение - организация защищенного туннеля между инфраструктурой и кластером Kafka. Подробнее см. раздел IPSEC;
- Interconnect - прямое сетевое соединение между сервисами внутри платформы без выхода в интернет. Подробнее см. раздел Interconnect.
Для построения Interconnect-соединения требуется сначала заказать PaaS-сервис и дождаться его предоставления, после чего отдельно заказать Interconnect через менеджера.
Выбор конкретного способа подключения зависит от архитектуры приложений и требований к безопасности.
Калькулятор
Для облегчения расчета параметров кластера Kafka разработан специализированный калькулятор - простое одностраничное приложение. В калькулятор вносятся исходные данные о планируемой нагрузке, после чего по нажатию кнопки Получить производится автоматический расчет конфигурации кластера.
Все поля обязательны для заполнения. Формы можно удалять, добавлять и дублировать ранее заполненные, что позволяет гибко настраивать параметры под различные сценарии использования.
Параметры топиков
| Параметр | Описание |
|---|---|
| Имя топика | Уникальное наименование топика в рамках кластера. Поле обязательное. Используется для идентификации топика при расчетах. |
| Число партиций | Количество партиций, на которые будет разбит топик. Значение должно быть больше числа консьюмеров. |
| Фактор репликации | Количество копий данных, хранящихся на разных брокерах. Для продуктивных кластеров рекомендуется значение не менее 3. Примечание: Количество узлов кластера формируется на основании параметра фактора репликации. Рекомендуется выбирать нечетное количество узлов для корректной работы механизмов выборов лидера. |
| Средний размер сообщения | Средний объем одного сообщения, передаваемого через топик. |
| Максимальный размер сообщения | Максимальный объем одного сообщения. Используется для расчета пиковых нагрузок. |
| Частота сообщений | Количество сообщений, отправляемых в топик за единицу времени. |
| Срок хранения сообщения | Период времени, в течение которого сообщения хранятся в топике после записи. По истечении этого срока данные удаляются. |
| Имя продюсера | Наименование приложения-отправителя (для идентификации в расчетах) |
| Количество экземпляров продюсера | Число одновременно работающих экземпляров продюсера. |
| Имя консьюмера | Наименование приложения-получателя (для идентификации в расчетах). |
| Количество экземпляров консьюмера | Число одновременно работающих экземпляров консьюмера. Примечание: Формы продюсеров и консьюмеров можно добавлять, удалять и дублировать. Это позволяет учитывать множественные источники и приемники данных в рамках одного расчета. |
Расчет конфигурации кластера
После заполнения всех полей нажимается кнопка Получить. Все расчеты выполняются в соответствии с планированием ресурсов, указанных в официальной документации Apache Kafka.
В результате, рассчитанные параметры служат основой для формирования заказа на управляемый сервис Kafka.
Калькулятор автоматически производит расчет следующих параметров:
- Количество узлов - формируется на основании параметра фактора репликации (replication.factor). Рекомендуется выбирать нечетное количество узлов для корректной работы механизмов выборов лидера;
- vCPU - вычисляется из планируемого количества входящих сообщений и масштабируется в зависимости от числа узлов: чем больше кластер, тем меньше требуется CPU на отдельный сервер благодаря распределению нагрузки;
- RAM - рассчитывается с учетом количества партиций, объема сообщений и числа подключений продюсеров и консьюмеров;
- Тип и объем дискового хранилища - определяется на основе среднего и максимального размера сообщения, частоты отправки, срока хранения и фактора репликации;
- Параметры репликации - учитывают заданный фактор репликации и обеспечивают отказоустойчивость кластера.