Планирование кластера Selena
В этой теме описывается, как планировать ресурсы для вашего кластера Selena в продакшене с точки зрения количества узлов, количества ядер CPU, размера памяти и размера хранилища.
Количество узлов
Selena в основном состоит из двух типов компонентов: узлов FE и узлов BE. Каждый узел должен быть развернут отдельно на физической или виртуальной машине.
Количество узлов FE
Узлы FE в основном отвечают за управление метаданными, управление подключениями клиентов, планирование запросов и планирование выполнения запросов.
В продакшене мы рекомендуем развернуть как минимум ТРИ узла Follower FE в вашем кластере Selena для предотвращения единых точек отказа (SPOF). Leader FE будет автоматически выбран из этих трех follower'ов.
Selena использует протокол Raft для управления метаданными между узлами FE. Selena выбирает узел Leader FE из всех узлов Follower FE. Только узел Leader FE может записывать метаданные. Другие узлы Follower FE только обновляют свои метаданные на основе логов от узла Leader FE. Каждый раз, когда узел Leader FE выходит из строя, Selena переизбирает новый узел Leader FE, пока более половины узлов Follower FE остаются живыми.
Если ваше приложение генерирует высококонкурентные запросы, вы можете добавить узлы Observer FE в ваш кластер. Узлы Observer FE только обрабатывают запросы и не участвуют в выборах узла Leader FE.
Количество узлов BE
Узлы BE отвечают за хранение данных и выполнение SQL.
В продакшене мы рекомендуем развернуть как минимум ТРИ узла BE в вашем кластере Selena для обеспечения высокой надежности данных и доступности сервиса. Высокодоступный кластер BE автоматически формируется, когда как минимум три узла BE развернуты и добавлены в ваш кластер Selena. Отказ одного узла BE не повлияет на общую доступность сервисов BE.
Вы можете увеличить количество узлов BE, чтобы позволить вашему кластеру Selena обрабатывать высококонкурентные запросы.
Количество узлов CN
Узлы CN являются опциональными компонентами Selena и отвечают только за выполнение SQL.
Вы можете увеличить количество узлов CN для эластичного масштабирования вычислительных ресурсов без изменения распределения данных в вашем кластере Selena.
CPU и память
Обычно сервис FE не потребляет много ресурсов CPU и памяти. Мы рекомендуем выделить 8 ядер CPU и 16 ГБ RAM для каждого узла FE.
В отличие от сервиса FE, сервис BE может быть значительно интенсивным по CPU и памяти, если ваше приложение работает с высококонкурентными или сложными запросами на большом наборе данных. Поэтому мы рекомендуем выделить 16 ядер CPU и 64 ГБ RAM для каждого узла BE.