Size: a a a

Camunda BPM Group

2019 June 12

IP

Igor Petetskikh in Camunda BPM Group
Ребят, вот такой вопрос.
Неожиданно для меня, мой шеф мне сказал, что может аппрувить поездку на КамундаКон 2019, если смогу убедить, что это именно технологическая конфа, а не маркетинг-буллшит.

Что скажете, кто то был на КК2018, как отзывы, впечатления?
источник

DK

Denis Kotov in Camunda BPM Group
Видосы можно посмотреть на Ютубе
источник

IP

Igor Petetskikh in Camunda BPM Group
2018?
источник

IP

Igor Petetskikh in Camunda BPM Group
Ну да, но интересно впечатление.
источник

RG

Ruslan Gainutdinov in Camunda BPM Group
Igor Petetskikh
Ребят, вот такой вопрос.
Неожиданно для меня, мой шеф мне сказал, что может аппрувить поездку на КамундаКон 2019, если смогу убедить, что это именно технологическая конфа, а не маркетинг-буллшит.

Что скажете, кто то был на КК2018, как отзывы, впечатления?
Выбери доклады, посмотри описания и расскажи шефу как конкретно они смогут помочь в задачах. Плюс можно всегда докладчиков после доклада поспрашивать,  узнать мнение
источник
2019 June 13

DG

Dmitrii Goncharov in Camunda BPM Group
Serg D.
Возможно я не прав, я еще не сильно спец по камунде. Но вижу ситуацию так:  наверняка у вас будет ОДИН процесс, который будет выбирать ExternalTask и раскладывать по очередям/топикам, при запросе он будет указывать ОДИН workerID и ОДИН lock duration. Тут сразу вы теряете гибкость настройки локов  (разные таски могут выполняться разное время) и worker id (если что-то пошло не так, понять кто конкретно выполняет таск будет то еще расследование. Т.е. по хорошему еще какой-нибудь ELK и сквозное логирование), Если процессов будет несколько, то с добавлением новых тасков, вам придется править код или усложнять логику.   + сопровождение кластера брокера, мониторинг, репликации, персист и прочие радости.
Пока штатный REST выполняет свою задачу и с ним нет проблем, зачем усложнять? Использование любого инструмента должно решать определенную проблему, какую проблему будет решать промежуточный брокер?
Если несколько микросервисов постоянно долбят камунду с просьбой отдать таски - это тоже не очень хорошо. Когда листенер раскладывает по очередям такой проблемы нет. workerId и lockDuration спокойно выносятся на уровень модели через InputMapping или FieldInjection. У нас раббит и так есть в стеке (как и ELK), поэтому вопросы его администрирования все равно придется решать.
Т.о. в нашем случае вариант с пушем в очередь видится предпочтительным. Хотя решение не окончательное, но минусов пока не видится.
источник

SD

Serg D. in Camunda BPM Group
Dmitrii Goncharov
Если несколько микросервисов постоянно долбят камунду с просьбой отдать таски - это тоже не очень хорошо. Когда листенер раскладывает по очередям такой проблемы нет. workerId и lockDuration спокойно выносятся на уровень модели через InputMapping или FieldInjection. У нас раббит и так есть в стеке (как и ELK), поэтому вопросы его администрирования все равно придется решать.
Т.о. в нашем случае вариант с пушем в очередь видится предпочтительным. Хотя решение не окончательное, но минусов пока не видится.
Объясните, пожалуйста, в чем конкретно заключается проблема камунды и рест-запросов? Сильно проседает производительность?
источник

DG

Dmitrii Goncharov in Camunda BPM Group
Serg D.
Объясните, пожалуйста, в чем конкретно заключается проблема камунды и рест-запросов? Сильно проседает производительность?
В наших тестах производительность камунды упиралась постоянно в производительность БД. Поэтому стараемся минимизировать нагрузку на нее всеми возможными способами. Воркеры разные, с разной загрузкой тасками, но поставить большой интервал между запросами к камунде не можем - время критично. Получается, что некоторые воркеры будут нагружать бесполезными селектами камунду. Пуш в очередь избавляет от этого при отсутствии видимых минусов. Т.е. проблемы особой нет - минусов подхода пока не видно, плюсик (хоть и маленький) - есть.
источник

SD

Serg D. in Camunda BPM Group
А listener штатный какой-то есть? Не через query builder?
источник

SD

Serg D. in Camunda BPM Group
Или это прям в bpmn прописывается listener на каждый таск отдельно? И таким образом избегаете обращений к бд?
источник

AK

Artem Kuraev in Camunda BPM Group
Ну так камунда, по сути, это и есть база данных с апи. На какой нагрузке база дохла? Вы не пробовали её настраивать? Разделить проект на несколько проектов с разными процессными бд?
источник

DG

Dmitrii Goncharov in Camunda BPM Group
Serg D.
Или это прям в bpmn прописывается listener на каждый таск отдельно? И таким образом избегаете обращений к бд?
Штатного нет, самописный. Глобальный листенер, автоматически добавляемый ко всем экстерналТаскам.
источник

DG

Dmitrii Goncharov in Camunda BPM Group
Artem Kuraev
Ну так камунда, по сути, это и есть база данных с апи. На какой нагрузке база дохла? Вы не пробовали её настраивать? Разделить проект на несколько проектов с разными процессными бд?
Это все понятно. Цель была - понять узкое место. Раз это база - стараемся минимизировать нагрузку на нее. Повторюсь - минусов пуша в очередь не видно, плюсик небольшой есть. Увидим серьезный минус - переделаем на опрос.
источник

AK

Artem Kuraev in Camunda BPM Group
Ну так а на какой нагрузке работать переставало? Интересны цифры, может, нам тоже надо☺️
источник

DG

Dmitrii Goncharov in Camunda BPM Group
Тест довольно синтетический. 20 одинаковых моделей с 8 пользовательскими этапами. 1000 пользователей запускают процесс - получают таск - завершают таск. Мерили количество таких операций в секунду. На пустой базе получали около 1200 оп/сек. Потом набивали базу активными процессами и повторяли. Примерно на 50-70 к активных процессов сервер бд загружался на полную и дальнейшее наполнение бд приводило к линейной деградации. При 200к активных процессов получалось 240 оп./сек. Отключение истории давало прирост в 2 раза.
источник

SD

Serg D. in Camunda BPM Group
Это с рестами или лисенерами?
источник

DK

Denis Kotov in Camunda BPM Group
А база какая? Какие настройки jobexecturor и connection?
источник

DG

Dmitrii Goncharov in Camunda BPM Group
Serg D.
Это с рестами или лисенерами?
Это вообще без сервисных этапов - только пользовательские. Свое рест-апи вокруг движка. Цель - понять узкое место.
источник

SD

Serg D. in Camunda BPM Group
Нет инфы сколько выиграли при переходе на работу с брокером?
источник

DG

Dmitrii Goncharov in Camunda BPM Group
Denis Kotov
А база какая? Какие настройки jobexecturor и connection?
БД - постгрес (в качестве сервера - ПК соседа), настройки дефолтные - тогда  только начинали знакомиться с камундой. Нас эти цифры вполне удовлетворили, поэтому с настройками не игрались.
источник