TDB Documentation portal logo
Помощь
Обновлена 30 июня 2026 г. в 07:00

Технологические роли в Tarantool DataBase

Технологическая роль — это модуль, реализующий определенные функции или логику. Включить или выключить нужную роль для конкретных экземпляров в конфигурации можно без перезапуска этих экземпляров. Роль запускается при загрузке или перезагрузке конфигурации.

Подробная информация о ролях приведена в документации Tarantool.

В Tarantool DB доступны следующие технологические роли:

app.roles.slow_log

Запись медленных iproto-запросов в журнал. Подробное описание приведено в разделе Логирование медленных запросов. Полный список опций конфигурации для роли app.roles.slow_log можно найти в Справочнике по конфигурации.

app.roles.tracing

Роль предназначена для выполнения трассировки пользовательских функций. Подробная информация о настройке трассировки и примеры ее использования приведены в разделе Оценка производительности.

Полный список опций конфигурации для роли app.roles.tracing можно найти в Справочнике по конфигурации.

config.storage

Роль используется, чтобы определить узел как часть централизованного хранилища конфигураций. Полный список опций конфигурации для роли config.storage можно найти в Справочнике по конфигурации.

Узнать больше: Запуск кластера Tarantool DB как централизованного хранилища конфигураций.

roles.cooler

Роль предназначена для работы с архивацией устаревающих данных из спейсов memtx в спейсы на vinyl. Полный список опций конфигурации для роли roles.cooler можно найти в Справочнике по конфигурации.

Роль roles.cooler задается на экземплярах хранилища кластера и отвечает за запуск и остановку архивации, обработку смены мастер-узла в наборе реплик, а также конфигурацию модуля expirationd. Для итерации по индексам спейсов и выполнения фоновых задач архивации используется модуль expirationd.

Особенности работы роли:

  • на каждый индекс спейса задается только одна задача архивации. Создать несколько задач по архивации на один индекс спейса невозможно. При этом можно создать несколько задач архивации на один спейс;
  • архивация запускается на узле, который становится доступным для записи, и завершается на узле, когда он переходит в режим только для чтения.

Узнать больше: Архивация данных по их времени жизни.

roles.crud-router, roles.crud-storage

Роли предоставляют IPROTO API для выполнения CRUD-операций (создание, чтение, обновление, удаление) на кластере. Совместно используются две роли:

  • roles.crud-router — предоставление API CRUD-функций, которые можно вызвать через коннектор;
  • roles.crud-storage — выполнение CRUD-операций на хранилище.

Пример настройки ролей приведен в разделе Конфигурация кластера.

Полный список опций конфигурации, связанных с crud, можно найти в Справочнике по конфигурации.

Сбор метрик в CRUD

Поскольку сбор метрик возможен только на роутерах, для сбора метрик в CRUD используйте роль roles.crud-router. По умолчанию сбор метрик отключен (roles.crud-router.stats = false), так как их работа снижает производительность:

  • на 3-10% — при использовании локального драйвера;
  • 5-15% — при использовании драйвера метрик. Этот драйвер используется по умолчанию;
  • до 20% — при использовании метрик, которые содержат квантили.

Включайте метрики модуля CRUD:

  • если требуется дополнительная информация в виде данных с этих метрик;
  • если работа метрик CRUD не скажется на общей нагрузке системы.

Включить сбор метрик можно так:

roles_cfg:  roles.metrics-export:    http:    - endpoints:      - format: prometheus        path: /metrics      listen: 8081groups:  routers:    replication:      failover: manual    sharding:      roles: [router]    roles:      - roles.crud-router      - roles.metrics-export      - roles.dictionary-router    roles_cfg:      roles.crud-router:        stats: true

Когда сбор данных метрик будет завершен, метрики необходимо отключить.

roles.dictionary-router, roles.dictionary-storage

Роли предназначены для работы со словарями. Доступны две роли:

  • roles.dictionary-storage — хранение данных словарей;
  • roles.dictionary-router — внешнее управление словарями.

Полный список опций конфигурации для ролей dictionary можно найти в Справочнике по конфигурации.

roles.expirationd

Роль предназначена для контроля за устаревающими данными.

Полный список опций конфигурации для роли roles.expirationd можно найти в Справочнике по конфигурации.

roles.healthcheck

Добавлено в версии 3.1.0.

Роль предназначена для контроля за работоспособностью экземпляров кластера и репликации. Полный список опций конфигурации для роли roles.healthcheck можно найти в Справочнике по конфигурации.

Роль roles.healthcheck задается на экземплярах кластера и позволяет указать адрес обработчика запроса (endpoint) для проверки состояния здоровья узлов. Модуль поддерживает набор встроенных проверок здоровья, а также создание пользовательских проверок и задание пользовательского формата ответа. Чтобы настроить HTTP-сервер для отправки запросов на проверку здоровья, используется модуль roles.httpd.

Узнать больше: Проверка работоспособности кластера.

roles.metrics-export

Роль предоставляет HTTP-обработчик для экспорта метрик. Узнать больше о роли можно в документации Tarantool.

Пример:

roles_cfg:  roles.metrics-export:    http:    - endpoints:      - format: prometheus        path: /metrics      listen: 8081

roles.tcf-worker, roles.tcf-coordinator

Роли предназначены для работы модуля Tarantool Clusters Federation (TCF), который позволяет выполнять репликацию шардированных данных между двумя независимыми кластерами Tarantool DB. Используемые роли:

  • roles.tcf-worker — управление статусами Tarantool Clusters Federation (активный-пассивный), предоставление базового HTTP API для управления TCF;
  • roles.tcf-coordinator — координатор для работы автоматического восстановления после сбоев (autofailover). Отслеживает работоспособность кластеров и автоматически переключает активный-пассивный кластер в случае выхода из строя активного кластера.

Пример совместного использования Tarantool DB и Tarantool Clusters Federation приведен в разделе Использование Tarantool Clusters Federation.