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, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и API — Invapi.
После перехода по ссылке из тега 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.
Функциональные возможности
-
Запуск нового рабочего процесса:
- Нажатие на кнопку
Start Workflowв правом верхнем углу; - Заполнение необходимых параметров в появившейся форме;
- Подтверждение создания процесса.
- Нажатие на кнопку
-
Просмотр и фильтрация процессов:
- Использование кнопки
Filterдля отбора процессов по различным критериям; - Выбор любого процесса в таблице для просмотра подробной информации.
- Использование кнопки
-
Примеры кода:
- Доступны примеры интеграции через ссылки на репозитории GitHub:
- samples-go - примеры на Go;
- samples-java - примеры на Java;
- samples-typescript - примеры на TypeScript;
- samples-python - примеры на Python;
- samples-dotnet - примеры на .NET;
- samples-php - примеры на PHP.
- Доступны примеры интеграции через ссылки на репозитории GitHub:
-
Изменение настроек:
- Селектор UTC в верхнем правом углу для изменения часового пояса;
- Кнопка
предназначена для доступа к дополнительным настройкам интерфейса.
Типичные сценарии использования:
- Мониторинг процессов: регулярная проверка статуса выполняемых задач;
- Отладка: детальный анализ ошибок в случае сбоев;
- Управление рабочими нагрузками: запуск, приостановка и отмена процессов;
- Разработка новых процессов: использование примеров кода для создания собственных рабочих процессов.
Примечание
Подробная информация по использованию Temporal содержится в официальной документации разработчиков.
Заказ сервера с Temporal с помощью API¶
Для установки данного ПО с использованием API следуйте этой инструкции.