Как стать автором
Обновить

Выступает DMN, дирижирует ZeeBe: как использовать бизнес-правила в микросервисах

Время на прочтение10 мин
Количество просмотров16K
Всего голосов 15: ↑14 и ↓1+17
Комментарии9

Комментарии 9

а у вас получается разделить роли разработчика actions и разработчика процессов на основании actions? не получается ли так что один человек все это разрабатывает и потом все эти процессы отлаживает?

если получается разделять, то как вы документируете возможности каждого actions? что action может и главное не может делать и пора этот action функционально проапгрейдить или разработать новый action?

Отличный вопрос, хотя и action-ы кажутся независимыми друг от друга, они связаны между собой переменными процесса и, отчасти, зависят друг от друга, в том числе и в разработке / тестировании. В другом проекте была подобная схема с большим количеством external task-ов, 8-10 backend разработчиков. Нам с коллегами удавалось распределять задачи по разработке action-ов, чтобы выходить примерно в одно и то же время на test/prod. Есть положительный опыт использования Asciidoctor (с указанием входных и выходных переменных от которых action будет зависеть) вместе с тестами для документирования action-ов внутри микросервисов. С апгрейдом здесь немного лучше, чем в Camunda, процессы летят быстро и можно не так сильно концентрироваться на обратной совместимости из-за большого количество уже запущенных процессов.
… и, по утверждению автора, был протестирован при 10 000 процессов в секунду.


А вы сами пробовали проверить сами? (чисто из любопытства)
У меня больше 100 процессов в секунду не получилось запускать, дальше вступал в игру Backpressure, который кидал ошибку из-за перегрузки брокера.
Наша цель приблизиться к примерно 40 процессов в секунду (потребности бизнеса). Пока ограничены в железе на деве, в нагрузочном тестировании запускал порядка 15 процессов в секунду.

Здорово, что начитают появляться статьи по ZeeBe. Полагаю у данного инструмента большое будущее.
Был бы рад увидеть больше статей по данной теме.
Мы не так давно начали работать с ZeeBe.
Camunda была восхитительна, но ZeBee даже лучше. Разработчики убрали кучу сложных/неочевидных возможностей, за счёт чего ZeeBe выглядит гораздо более простым и логичным инструментом, хотя задачи ставятся более амбициозные.


Скажите у Вас ZeeBe уже в продакшне крутится? Все же при всех положительных эмоциях, она не так давно из бэты вышла.

Согласен, инструмент пока новый, помню, что и к Camunda сначала относились осторожно, предпочитая проверенный годами IBM BPM. Сейчас Camunda уже крепко стоит на ногах и является важным компонентом многих банков. Уверен, что и у ZeeBe большее будущее!
Нам еще предстоит очень большая работа, чтобы выйти в прод, нужно переделать из текущего монолита очень много интеграций (на spring integraion), постараемся успеть к концу года. Пока обкатываем прототип на среде dev и то что получается, работает вполне стабильно.

Прошло 1.5 года, поделитесь вашими впечатлениями от ZeeBe в проде и что еще к нему прикрутили?

Мы в проде, обновились до 8й версии. Сам движок Zeebe стал стабильнее, улучшается от версии к версии. От нативного DMN от Camunda пришлось отказаться, нам нужно быстрее, написали свой совместимый по-проще. Так же сделали свой фронт с редактором BPMN, DMN, упрощенный Optimize и пользовательские задачи. Пока довольны.

Всем привет, у меня есть процесс в camunda, у него есть Zeebe API, я так понял через него бекенд общается с camunda. Мне нужно, что бы по userId и Instance Id, я отдавал бы название на какой таске сейчас находится этот пользователь.В документации я не нашел каких то явных способов это достать типо getProcess(InstanceId) может кто то знает как можно достать название "Завершение инициализации" - на этом этапе находится пользователю сейчас. Я посмотрел как формируется Ui - там гигантский xml его очень неудобно парсить, и это не через Zeebe API получено, я думаю есть более нормальный способ.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий