В этой ветке репозитория собраны запускаемые Docker-примеры для Tarantool DB 3.x. Каждый пример — это
самостоятельный стенд с файлами конфигурации, исходным кодом и файлом README.md,
содержащим пошаговую инструкцию.
Чтобы запустить пример, перейдите в его директорию и выполните следующую команду:
make startДля остановки стенда выполните команду ниже:
make stopПодробности работы приведены в README.md соответствующего примера. Для работы примеров требуются
установленный Docker-образ
Tarantool DB и приложение Docker Compose; некоторые примеры дополнительно требуют
установленных Docker-образов Grafana и Prometheus,
утилиту tt CLI,
Go или Java.
- Запуск кластера из одного узла через Docker Compose — развертывание кластера Tarantool DB из одного узла с нестандартным способом начального запуска шардирования.
- Запуск кластера через Docker Compose — запуск кластера Tarantool DB с помощью Docker Compose.
- Запуск Tarantool DB вручную — локальное развертывание Tarantool DB с помощью утилиты tt CLI.
- Запуск кластера без централизованной конфигурации — запуск кластера через Docker Compose без etcd.
- Запуск кластера как централизованного хранилища конфигураций — развертывание кластера Tarantool DB в качестве централизованного хранилища конфигураций.
- Запись и получение бинарных данных — запись и чтение бинарных данных в шардированном спейсе через модуль CRUD.
- JSON-пути — обновление данных в спейсе через JSON-пути.
- Использование спейсов на движке vinyl — работа со спейсами на движке vinyl.
- Кэш кортежей движка vinyl — устройство и настройка кэша кортежей vinyl, сценарий нагрева и охлаждения данных.
- Фильтрация и итерация в read view с помощью CRUD — использование операций
selectиpairsв представлениях для чтения через модуль CRUD.
- Изменение схемы данных с помощью space:format() — изменение схемы данных типового приложения методом
space:format(). - Изменение первичного индекса существующего спейса — изменение первичного индекса спейса без потери доступности данных.
- Миграция данных с помощью space:upgrade() — миграция данных, в том числе несовместимые изменения формата спейса.
- Обновление схемы через tt CLI — обновление схемы Tarantool DB с помощью утилиты tt CLI.
- Архивация устаревших данных — перенос устаревших кортежей из спейса memtx в vinyl.
- Автоматическое удаление устаревших кортежей — автоматическое удаление кортежей старше заданного времени через настройку конфигурации.
- Проверка устаревших кортежей пользовательскими функциями — удаление устаревших кортежей с помощью пользовательских функций.
- Запись и получение данных в словаре — запись данных в словарь и получение записей с обогащением из словаря.
- Работа со словарём с ограниченными правами — работа со словарями через пользователя с минимально необходимыми правами.
- Создание пользовательской метрики — создание произвольной метрики и её просмотр в Grafana.
- Проверка работоспособности кластера — проверка здоровья кластера с помощью роли
roles.healthcheck. - Логирование медленных запросов — запись медленных запросов в журнал для функций и CRUD-запросов.
- Трассировка с использованием Jaeger — настройка трассировки функций и просмотр результатов в Jaeger.
- Использование координаторов отказоустойчивости — настройка внешних координаторов отказоустойчивости (supervised failover).
- Использование синхронной репликации — запись данных в спейс с синхронной репликацией и мониторинг в Grafana.
- Триггеры — конфигурация мастер-мастер и триггер для разрешения конфликтов репликации.
- Запуск кластеров с TCF и настройка репликатора — запуск двух кластеров в связке с Tarantool Clusters Federation (TCF) и настройка репликатора.
- Работа напрямую с экземпляром через Go-коннектор — выполнение операций напрямую с конкретным экземпляром через Go-коннектор.
- Работа с кластером через CRUD с помощью Go-коннектора — запись и чтение кортежей через модуль CRUD с помощью Go-коннектора.
- Балансировка запросов через Go-коннектор — балансировка запросов к роутерам через Go-коннектор под нагрузкой.
- Замена автокодировщика в Go-коннекторе — замена автокодировщика MsgPack на собственный алгоритм в Go-коннекторе.
- Работа напрямую с экземпляром через Java-коннектор — выполнение операций напрямую с конкретным экземпляром через Java-коннектор.
- Работа с кластером через CRUD с помощью Java-коннектора — запись и проверка кортежей через модуль CRUD с помощью Java-коннектора.
- Балансировка запросов через Java-коннектор — балансировка запросов к роутерам через Java-коннектор под нагрузкой.
- Шифрование трафика — настройка шифрования трафика для распределённой системы.
- Использование узлов-обработчиков — разработка Go-обработчиков для работы с кластером и централизованным хранилищем конфигурации.