111 lines
12 KiB
Markdown
111 lines
12 KiB
Markdown
|
|
# Конфигурация кластера
|
|||
|
|
|
|||
|
|
## О разделе
|
|||
|
|
|
|||
|
|
Данный раздел описывает технические параметры кластера 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. <br>**Примечание:** Количество узлов кластера формируется на основании параметра фактора репликации. Рекомендуется выбирать нечетное количество узлов для корректной работы механизмов выборов лидера.|
|
|||
|
|
|**Средний размер сообщения**|Средний объем одного сообщения, передаваемого через топик.|
|
|||
|
|
|**Максимальный размер сообщения**|Максимальный объем одного сообщения. Используется для расчета пиковых нагрузок.|
|
|||
|
|
|**Частота сообщений**|Количество сообщений, отправляемых в топик за единицу времени.|
|
|||
|
|
|**Срок хранения сообщения**|Период времени, в течение которого сообщения хранятся в топике после записи. По истечении этого срока данные удаляются.|
|
|||
|
|
|**Имя продюсера**|Наименование приложения-отправителя (для идентификации в расчетах)|
|
|||
|
|
|**Количество экземпляров продюсера**|Число одновременно работающих экземпляров продюсера.|
|
|||
|
|
|**Имя консьюмера**|Наименование приложения-получателя (для идентификации в расчетах).|
|
|||
|
|
|**Количество экземпляров консьюмера**|Число одновременно работающих экземпляров консьюмера. <br>**Примечание:** Формы продюсеров и консьюмеров можно добавлять, удалять и дублировать. Это позволяет учитывать множественные источники и приемники данных в рамках одного расчета.|
|
|||
|
|
|
|||
|
|
## Расчет конфигурации кластера
|
|||
|
|
|
|||
|
|
После заполнения всех полей нажимается кнопка **Получить**. Все расчеты выполняются в соответствии с планированием ресурсов, указанных в официальной документации Apache Kafka.
|
|||
|
|
В результате, рассчитанные параметры служат основой для формирования заказа на управляемый сервис Kafka.
|
|||
|
|
|
|||
|
|
Калькулятор автоматически производит расчет следующих параметров:
|
|||
|
|
|
|||
|
|
- **Количество узлов** - формируется на основании параметра фактора репликации (replication.factor). Рекомендуется выбирать нечетное количество узлов для корректной работы механизмов выборов лидера;
|
|||
|
|
- **vCPU** - вычисляется из планируемого количества входящих сообщений и масштабируется в зависимости от числа узлов: чем больше кластер, тем меньше требуется CPU на отдельный сервер благодаря распределению нагрузки;
|
|||
|
|
- **RAM** - рассчитывается с учетом количества партиций, объема сообщений и числа подключений продюсеров и консьюмеров;
|
|||
|
|
- **Тип и объем дискового хранилища** - определяется на основе среднего и максимального размера сообщения, частоты отправки, срока хранения и фактора репликации;
|
|||
|
|
- **Параметры репликации** - учитывают заданный фактор репликации и обеспечивают отказоустойчивость кластера.
|