Технологические роли в Tarantool DB¶
Технологическая роль – это модуль, реализующий определенные функции или логику. Включить или выключить нужную роль для конкретных экземпляров в конфигурации можно без перезапуска этих экземпляров. Роль запускается при загрузке или перезагрузке конфигурации.
Подробная информация о ролях приведена в документации 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.crud-router, roles.crud-storage¶
Роли предоставляют IPROTO API для выполнения CRUD-операций (создание, чтение, обновление, удаление) на кластере. Совместно используются две роли:
roles.crud-router
– предоставление API CRUD-функций, которые можно вызвать через коннектор;roles.crud-storage
– выполнение CRUD-операций на хранилище.
Пример настройки ролей приведен в разделе Конфигурация кластера.
Полный список опций конфигурации, связанных с crud
, можно найти в Справочнике по конфигурации.
Сбор метрик в CRUD¶
Поскольку сбор метрик возможен только на роутерах, для сбора метрик в CRUD используйте роль roles.crud-router
.
По умолчанию сбор метрик отключен, так как их работа снижает производительность:
на 3-10% – при использовании локального драйвера;
5-15% – при использовании драйвера метрик. Этот драйвер используется по умолчанию;
до 20% – при использовании метрик, которые содержат квантили.
Включайте метрики модуля CRUD:
если требуется дополнительная информация в виде данных с этих метрик;
если работа метрик CRUD не скажется на общей нагрузке системы.
Включить сбор метрик можно так:
roles_cfg:
roles.metrics-export:
http:
- endpoints:
- format: prometheus
path: /metrics
listen: 8081
groups:
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.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.