Разделение времени выполнения и истории - PullRequest
0 голосов
/ 31 мая 2019

Я хотел бы использовать отдельные базы данных для данных времени выполнения и истории без реализации пользовательского HistoryEventHandler. Кто-нибудь знает, как это возможно?

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

В настоящее время каждый раз, когда я запрашиваю данные истории (около 2 млн записей активности), производительность системы падает, поскольку она также блокирует среду выполнения. Я хотел бы избежать этого, не теряя возможности запрашивать исторические данные.

Ответы [ 3 ]

0 голосов
/ 01 июня 2019

Это было бы действительно крутой функцией, но в настоящее время она не поддерживается. Вам придется отключить историю по умолчанию и реализовать собственный обработчик.

0 голосов
/ 03 июня 2019

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

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

  • Если вы не хотите пропустить хранение информации истории в стандартных таблицах истории Camunda, выЯ хочу использовать их CompositeHistoryEventHandler.Это просто дает вам возможность использовать несколько реализаций HistoryEventHandler.
  • Все реализации HistoryEventHandler будут выполняться в тех же потоках, что и те, которые выполняют экземпляры процесса;таким образом, вы захотите знать о влиянии на производительность, которое будет иметь ваш пользовательский HistoryEventHandler.
  • Возможно, вы захотите рассмотреть возможность публикации своих событий истории через шину сообщений или систему обмена сообщениями, чтобы обеспечить надежную доставку без влияния на экземпляр рабочего процесса Camunda.Производительность.
  • Наконец, возможно, имеет смысл использовать пользовательский HistoryEventHandler вместе с заданным по умолчанию для Camunda HistoryEventHandler и их функциями для удаления экземпляров процесса по истечении определенного периода времени.Это позволит вам использовать их возможности запросов в течение некоторого периода времени без накопления истории (и, следовательно, замедления вашей системы).
0 голосов
/ 31 мая 2019

Camunda BPM предлагает Оптимизацию, которая вытягивает исторические данные из Engine в базу данных Elastic Search. Если вы используете версию Enterprise, это может быть способ ее решения.

...