Аналоги Tarantool Cartridge

Docker

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Docker — платформа виртуализации на уровне операционной системы, позволяющая упаковывать приложения и их зависимости в изолированные контейнеры, которые запускаются на общем ядре хоста; контейнеры обеспечивают воспроизводимость среды выполнения, быстрое развертывание и масштабирование приложений, поддерживают управление жизненным циклом образов через реестр, интеграцию с инструментами оркестрации и сетевыми/хранилищными механизмами, и широко используется для контейнеризации микросервисной архитектуры, тестирования и CI/CD процессов.

Tarantool Cartridge

Бесплатно
Открытый исходный код
Linux

Сайт: www.tarantool.io/ru/cartridge

Tarantool Cartridge — это модульное расширение и фреймворк для развёртывания, управления и масштабирования распределённых приложений на базе СУБД Tarantool. Проект предназначен для упрощения создания кластеров, оркестрации экземпляров, обеспечения высокой доступности и автоматизации задач администрирования. Cartridge сочетает средства конфигурирования, жизненного цикла приложений и управления состоянием кластеров, предоставляя разработчикам и операторам единый набор инструментов для работы с распределёнными базами данных и микросервисами в среде Tarantool.

Изначально Cartridge был разработан как ответ на потребность в стандартизированном способе сборки отказоустойчивых кластеров Tarantool с минимальным объёмом ручного управления. Фреймворк реализует паттерны автоматического обнаружения узлов, репликации данных и управления состояниями (lifecycle hooks), а также предоставляет API и CLI для деплоя и мониторинга. Cartridge ориентирован на сценарии, где требуются горизонтальное масштабирование, быстрое переключение ролей и согласованность реплик при минимальных задержках.

  • Оркестрация кластера: автоматическое обнаружение и регистрация узлов, управление членством кластера и распределением ролей.
  • Высокая доступность: поддержка репликации, автоматического failover и переключения лидера для обеспечения непрерывности сервиса.
  • Управление состоянием приложения: lifecycle hooks для инициализации, обновления и корректного завершения работы сервисов на узлах.
  • Шаблоны и конфигурация: возможность описать структуру приложения и шаблоны конфигурации, применяемые к узлам при деплое.
  • Масштабирование: инструменты для добавления и удаления экземпляров, перераспределения нагрузки и данных между репликами.
  • CLI и API: интерфейсы командной строки и программные API для управления жизненным циклом и мониторинга состояния кластера.
  • Интеграция с приложениями на Lua: тесная интеграция с экосистемой Tarantool и поддержка написания логики расширений на Lua.
  • Мульти-сервисы: поддержка развертывания нескольких независимых сервисов и роутинга запросов внутри кластера.
  • Мониторинг состояния: сбор и предоставление метрик, информации о состоянии узлов и логов, необходимых для администрирования.
  • Обновления и миграции: механизмы для плавного обновления кода и миграции схемы данных с минимальным простоем.
Подробнее