Кластеризация Prostore
Содержание раздела
Система поддерживает кластеризацию — подключение нескольких нод в одно окружение. Все ноды кластера равноправны и могут выполнять любые виды запросов. Сбой ноды не прерывает работу остальных нод.
Для работы с кластером Prostore необходимо подключиться к любой из его нод, указав ее доменное имя или IP-адрес и номер порта, равный значению параметра конфигурации DTM_CORE_HTTP_PORT
.
Подробнее о способах подключения к ноде см. в разделе Подключение, о конфигурации кластера см. в разделе Конфигурация кластера.
Состав кластера
Кластер может состоять из произвольного количества нод — узлов сервиса исполнения запроса (query execution core
).
Взаимодействие кластера с другими компонентами
Все ноды кластера Prostore работают с общим набором компонентов: одним хранилищем данных и одним экземпляром каждого коннектора, а также с общим сервером сервисной БД (ZooKeeper) и общим сервером или серверами Kafka.
Подробнее о компонентах, с которыми работает система, см. в разделе Компоненты системы и их связи.
На рисунке ниже показан кластер Prostore и внешние компоненты, с которыми он взаимодействует.
Гарантии в кластере
Линеаризуемость (recency)
Чтобы обеспечить гарантии линеаризуемости на уровне кластера, необходимо использовать команду SYNC перед запросами чтения и выгрузки данных или читать и выгружать данные с явным указанием номера последней (recent) версии данных с помощью выражения FOR SYSTEM_TIME AS OF CN <sys_cn>.
Атомарность и уровень изоляции операций
Для кластера гарантируется атомарность операций записи и их изоляция на уровне сериализуемости (serializable isolation level).
Ограничения кластера Prostore
- Нет встроенного балансировщика нагрузки между нодами кластера.
- Нет выделенных нод, все ноды полностью равноправны.
- При работе с кластером в общем случае не гарантируется линеаризуемость: чтение и выгрузка данных из нод кластера, отличных от нод загрузки и обновления данных, может приводить к получению устаревших (на уровне сетевых задержек) данных. Линеаризуемость гарантируется только после выполнения команды SYNC или при чтении и выгрузке с указанием номера версии данных.
- Для всех нод кластера значение параметра конфигурации
AUTO_RESTORE_STATE
должно быть равноfalse
.