как сделать камунду бпнм высокой доступности - PullRequest
2 голосов
/ 30 января 2020

Я использую версию сообщества camunda для одного проекта моего рабочего процесса, который выполняет своего рода возобновление потока микросервисов, аналогичное этому , все функции в версиях сообщества достаточны для моих требований, кроме высокой доступности и автоматического восстановления .

Для обеспечения высокой доступности, если я сделаю базу данных (mySQL) высокой доступной в соответствии с этим руководством , и двух или более экземпляров Camunda Manager на основе пружин, работающего за балансировщиком нагрузки, будет достаточно?

Как восстановить, если camunda принимает запрос bpnm, и этот узел вышел из строя или вышел из строя после получения запроса?

в моем случае каждый весенний менеджер camunda получает запрос и подтверждает пользователю 202 (принято), затем camunda начнет выполнение рабочего процесса. Так как же автоматически восстановить и возобновить эту работу, если узел, получивший запрос, потерпел крах?

1 Ответ

4 голосов
/ 31 января 2020

Запуск нескольких экземпляров движка (= нескольких приложений Spring) поверх высокодоступной базы данных (убедитесь, что она поддерживает фиксацию чтения, см. https://docs.camunda.org/manual/7.12/introduction/supported-environments/#databases), безусловно, достаточно для того, чтобы Камунда была высоко доступно.

В случае сбоя узла после ответа 202 вы вернетесь к «нормальной» обработке транзакций Java / Spring. https://docs.camunda.org/manual/7.12/user-guide/process-engine/transactions-in-processes/#transaction -ограничения должны помочь прояснить это.

Итак, если вы убедитесь, что вы запускаете свой экземпляр рабочего процесса, возможно, с помощью асинхронного c start-события, фиксируете эту транзакцию и просто затем возвращаете 202, вы в безопасности. Единственная проблема, которая может возникнуть, это то, что вы взломали sh перед возвратом 202, что обычно приводит к повторной попытке в вашем REST API, в этом случае вы должны убедиться, что ваш рабочий процесс идемпотентно запускается.

...