Перейти к содержанию

Temporal

В этой статье

Информация

Temporal - открытая платформа для создания надежных распределенных приложений. Решает одну из ключевых проблем современной разработки: как гарантировать выполнение критически важных процессов в нестабильной среде. Позволяет разработчикам сосредоточиться на бизнес-логике, а не на обработке сбоев инфраструктуры.

Temporal. Основные возможности

  • Оркестрация рабочих процессов: обеспечивает надежное выполнение длительных бизнес-процессов. Автоматически обрабатывает сбои и повторы, гарантируя выполнение задач;
  • Распределенные транзакции: обеспечивает согласованное выполнение операций между различными сервисами без использования распределенных блокировок;
  • Таймауты и планирование: позволяет устанавливать таймеры и планировать выполнение задач с высокой точностью даже для длительных процессов;
  • Масштабируемость: поддерживает горизонтальное масштабирование для обработки высоких нагрузок. Компоненты можно масштабировать независимо;
  • Историческая отладка: сохраняет историю выполнения процессов, что позволяет анализировать и отлаживать рабочие процессы;
  • Версионирование: поддерживает безопасное обновление рабочих процессов без прерывания выполняющихся задач;
  • Наблюдаемость: интеграция с системами мониторинга и трассировки для контроля работы приложений;
  • Multi-tenancy: обеспечивает изоляцию и управление ресурсами для нескольких команд или приложений.

Особенности сборки

ID Совместимые ОС VPS BM VGPU GPU Мин. ЦПУ (Ядер) Мин. ОЗУ (Гб) Мин. HDD/SDD (Гб) Доступно
138 Ubuntu 22.04 + + + + 1 1 15 Да
  • Предустановленные зависимости:
    • Docker;
    • docker-compose;
    • Git (для клонирования репозитория).
  • Дополнительные компоненты:
    • Nginx (для обратного прокси);
    • Postgresql (база данных);
    • Elasticsearch (для хранения истории рабочих процессов);
    • Grafana (для мониторинга);
    • Prometheus (для сбора метрик);
    • Jaeger (для распределенной трассировки);
    • OpenTelemetry Collector (для сбора телеметрии);
  • Рабочий каталог проекта: /root/docker-compose;
  • Файл для кастомизации: /root/docker-compose/docker-compose-multirole_edited.yaml

Основные компоненты, имеющие веб-интерфейс:

Название Локальный адрес и порт Внешний адрес
Temporal UI localhost:8080 https://temporal{server_id_from_invapi}.hostkey.in
Grafana localhost:8085 https://temporal{server_id_from_invapi}.hostkey.in/grafana/
Prometheus localhost:9090 https://temporal{server_id_from_invapi}.hostkey.in/prometheus/
Prometheus Metrics - https://temporal{server_id_from_invapi}.hostkey.in/prometheus/metrics

Начало работы после развертывания Temporal

После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем будет указан IP-адрес VPS, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и APIInvapi.

После перехода по ссылке из тега webpanel будет открыто окно авторизации.

Данные для авторизации, которые можно найти или во вкладке Информация >> Тэги панели управления сервером или в присланном e-mail:

  • Ссылка для доступа к панели управления Temporal с веб-интерфейсом: в теге webpanel;
  • Логин и Пароль для управления сервером: приходят в письме на вашу электронную почту при сдаче сервера.

Начальный экран и навигация

После перехода из тега webpanel будет открыт веб-интерфейс Temporal:

Главный экран отображает список рабочих процессов (Workflows) в выбранном пространстве имен. Сообщение "No Workflows running in this Namespace" означает отсутствие активных процессов в текущий момент.

Основные элементы интерфейса:

  • Боковая панель слева предоставляет доступ к различным секциям системы;
  • Верхняя панель показывает текущее пространство имен (по умолчанию "default");
  • Кнопка Start Workflow в правом верхнем углу для запуска новых процессов;
  • Таблица процессов с колонками Status, Workflow ID, Run ID, Type, Start, End.

Функциональные возможности

  1. Запуск нового рабочего процесса:

    • Нажатие на кнопку Start Workflow в правом верхнем углу;
    • Заполнение необходимых параметров в появившейся форме;
    • Подтверждение создания процесса.
  2. Просмотр и фильтрация процессов:

    • Использование кнопки Filter для отбора процессов по различным критериям;
    • Выбор любого процесса в таблице для просмотра подробной информации.
  3. Примеры кода:

    • Доступны примеры интеграции через ссылки на репозитории GitHub:
      • samples-go - примеры на Go;
      • samples-java - примеры на Java;
      • samples-typescript - примеры на TypeScript;
      • samples-python - примеры на Python;
      • samples-dotnet - примеры на .NET;
      • samples-php - примеры на PHP.
  4. Изменение настроек:

    • Селектор UTC в верхнем правом углу для изменения часового пояса;
    • Кнопка предназначена для доступа к дополнительным настройкам интерфейса.

Типичные сценарии использования:

  • Мониторинг процессов: регулярная проверка статуса выполняемых задач;
  • Отладка: детальный анализ ошибок в случае сбоев;
  • Управление рабочими нагрузками: запуск, приостановка и отмена процессов;
  • Разработка новых процессов: использование примеров кода для создания собственных рабочих процессов.

Примечание

Подробная информация по использованию Temporal содержится в официальной документации разработчиков.

Заказ сервера с Temporal с помощью API

Для установки данного ПО с использованием API следуйте этой инструкции.