Камунда.РФ 8 — это независимая производная (fork) открытого программного обеспечения Camunda 8.5 (Zeebe), распространяемого под лицензией Apache License 2.0. Проект развивает это ядро, фокусируясь на безопасности, локализации и поддержке для русскоязычных пользователей.
Краткое описание Камунда.РФ 8
Камунда.РФ 8 — это платформа оркестрации процессов, построенная вокруг распределённого workflow-движка.
В отличие от Камунда.РФ 7 и Camunda 7:
-
нет встроенного BPMN-движка с состоянием в централизованной БД
-
используется event-sourcing и log-based storage
-
основной API — gRPC (REST используется ограниченно)
-
высокая горизонтальная масштабируемость
Основные компоненты, образующие кластер Камунда.РФ 8:
-
Камунда.РФ 8 Engine — движок выполнения процессов
-
Камунда.РФ 8 Gateway — точка входа для gRPC-клиентов
Основные понятия
-
Deployment — публикация ресурсов (BPMN-диаграмм) в кластер Камунда.РФ 8
-
Process Definition — BPMN-модель процесса
-
Process Instance — выполняющийся экземпляр процесса
-
Job — единица работы для Worker
-
Worker — клиент, выполняющий Job
Предварительные требования
-
Запущенный Камунда.РФ 8 кластер (см. инструкцию по установке)
-
gRPC-endpoint Камунда.РФ 8 Gateway
-
BPMN-файл процесса (например
order-process.bpmn)
Подключение к Камунда.РФ 8 (пример)
Примеры ниже показаны концептуально. Реализация зависит от используемого SDK (Java, Go, Node.js).
Деплой процесса (DeployResource)
Назначение
Загружает BPMN/DMN ресурсы в кластер Камунда.РФ 8.
gRPC метод
Gateway/DeployResource
Пример (Java, концептуально)
client.newDeployResourceCommand()
.addResourceFile("order-process.bpmn")
.send()
.join();
Результат
Возвращается информация о деплое и версии process definition.
Запуск процесса (CreateProcessInstance)
gRPC метод
Gateway/CreateProcessInstance
Пример (Java)
client.newCreateInstanceCommand()
.bpmnProcessId("order-process")
.latestVersion()
.variables("{ "orderId": 12345, "amount": 1000 }")
.send()
.join();
Результат
Возвращается processInstanceKey — уникальный идентификатор экземпляра.
Получение статуса процесса
Особенность Camunda 8
Камунда.РФ 8 Engine/Gateway не предоставляет прямой gRPC-запрос «получить статус процесса».
Статус определяется косвенно через:
-
события в log stream
-
в Камунда.РФ Пульт, через подключенное расширение "История"
-
наличие активных jobs
Рекомендуемый способ
Для runtime-мониторинга используйте Operate.
Работа с Job (Workers)
Активация Job (ActivateJobs)
Gateway/ActivateJobs
Пример воркера (Java)
client.newWorker()
.jobType("payment-service")
.handler((jobClient, job) -> {
// бизнес-логика
jobClient.newCompleteCommand(job.getKey())
.send();
})
.open();
Завершение Job
gRPC метод
Gateway/CompleteJob
Job считается выполненной после успешного вызова.
Типовой жизненный цикл процесса
-
Установка (Deployment) BPMN‑модели процесса
-
Запуск процесса, создание экземпляра
-
Мониторинг статуса через Камунда.РФ Пульт
-
Worker активирует Job
-
Worker завершает Job
-
Экземпляр процесса продолжается или завершается