Схема компонентов | Tcs

Version:

1.x
Руководство администратора Схема компонентов

Схема компонентов

Компоненты кластера

Кластер TCS может включать в себя следующие компоненты:

  • Узлы Storage – для хранения данных и обработки запросов на чтение/запись

  • Узлы Scheduler – для маршрутизации запросов на экземпляры Storage

  • Узлы Coordinator – для управления переключением в случае сбоя экземпляров Storage

  • etcd – для хранения и управления конфигурацией кластера

  • Tarantool Cluster Manager (TCM) – для мониторинга и управления кластером

Состав кластера TCS зависит от режима работы кластера: проксированный или шардированный.

В проксированном режиме типовой кластер TCS состоит из следующих компонентов:

  • Storage: один набор реплик из нескольких узлов (1 мастер-экземпляр + 1 или больше экземпляров-реплик), развернутый на 1 или более серверах – для хранения данных и обработки запросов на чтение/запись

  • Scheduler: (необязательно без шардирования) один набор реплик из 1 и более узлов – для маршрутизации запросов на экземпляры Storage

  • Coordinator: (необязательно) по 1 экземпляру на каждый сервер с развернутыми экземплярами Storage – для управления переключением в случае сбоя экземпляров Storage

  • (необязательно) etcd – для хранения и управления конфигурацией кластера

  • (необязательно) Tarantool Cluster Manager (TCM) – для мониторинга и управления кластером

Схема компонентов TCS

В шардированном режиме кластер TCS состоит из аналогичных компонентов, но со следующими отличиями:

  • в кластере может быть больше одного набора реплик с узлами типа Storage

  • наличие набора реплик с узлами типа Scheduler становится обязательным

Наборы реплик TCS

Наборов реплик с экземплярами Scheduler и Storage может быть несколько.

Любой набор реплик TCS можно разворачивать как на одном сервере, так и на нескольких серверах.

Клиентское приложение может устанавливать соединение с любым экземпляром в наборе реплик (Scheduler или Storage), по любому поддерживаемому TCS протоколу (HTTP, JDBC/ADBC). Однако тип экземпляров, доступных клиентам для прямого подключения, зависит от режима работы кластера TCS:

  • в режиме проксирования – Scheduler (если они присутствуют в кластере) и Storage

  • в режиме шардирования – только Scheduler

Все запросы принимаются в формате SQL.

Для обработки запросов на экземплярах Storage используется одинаковая логика. Конвейер обработки запроса включает в себя:

  • парсер SQL-запросов

  • кеш физических планов (для аналитических расчетов)

  • планировщик с оптимизатором

  • исполнитель плана запроса

В режиме шардирования тот же конвейер обработки действует также на экземплярах Scheduler.

Наборы реплик Storage

В набор реплик Storage входят экземпляры двух видов:

  • мастер-экземпляр (может быть только один)

  • экземпляры-реплики (любое количество от 0 до 30)

Все экземпляры Storage в наборе реплик работают с одинаковым набором данных, поскольку все экземпляры-реплики связаны процессом непрерывной репликации с мастер-экземпляром. Других видов движения данных, кроме репликации, между экземплярами нет.

Запросы на чтение данных могут обрабатываться на всех экземплярах. Запросы на запись/изменение данных – только на мастер-экземпляре. Поэтому при установлении прямого соединения с экземпляром Storage из клиентского приложения следует явно выбирать экземпляр Storage, на котором будут выполняться запросы в рамках сессии. Если для обработки запроса на чтение/модификацию данных выбран экземпляр-реплика, то в ответ вернется ошибка.

Внимание

Во избежание ошибок, в режиме шардирования прямое подключение к экземплярам Storage должно быть запрещено в конфигурации.

Наборы реплик Scheduler

Экземпляры Scheduler осуществляют автоматическую маршрутизацию запросов на экземпляры Storage.

Экземпляры Scheduler являются stateless-компонентами, т.е. хранение данных на экземплярах Scheduler не осуществляется.

В одном наборе реплик может быть любое количество узлов типа Scheduler (от 1 до 31).

Наборы реплик Coordinator

Для отказоустойчивости в кластер TCS рекомендуется добавлять координаторы обработки сбоев (failover coordinator) из расчета 1 экземпляр Coordinator на каждый сервер с развернутыми экземплярами Storage. Один координатор должен быть активным, остальные – пассивными.

Координаторы следят за состоянием всего кластера Storage, получая информацию об узлах хранилищ по прямому запросу состояния к экземплярам Storage. В случае сбоя активный координатор осуществляет аварийное переключение, выбирая один из экземпляров-реплик Storage и переводя его в режим RW. Переключение может настроено в ручном или автоматическом режиме.

Между собой координаторы связаны через etcd, получая мета-информацию об активном координаторе.

etcd

etcd позволяет централизованно хранить конфигурацию кластера и управлять ей. На основе etcd построено управление кластером с помощью ATE и TCM.

Рекомендованный вариант установки TCS – с файлом конфигурации, хранящимся в etcd. См. подробнее Первичная установка системы.

Для тестовых целей возможна установка кластера TCS с локальным файлом конфигурации.

TCM

TCM предоставляет веб-инерфейс, который позволяет отслеживать состояние набора реплик TCS, а также управлять конфигурацией кластера (как альтернатива etcd). Взаимодействие TCM с конфигурацией кластера TCS идет только через etcd. См. подробнее Управление кластером с помощью TCM.

Found what you were looking for?
Feedback