Size: a a a

Camunda BPM Group

2021 October 04

ММ

Максим Монин... in Camunda BPM Group
нет у меня архитектура другая. У меня один сервис висит на 1 topic каждый воркер работает ровно с одним topic, в одном сервисе может быть 100 разных рест запросов к внешним системам
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
3% CPU, и 70% диска на БД
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
ну вот как я уже сказал камунда этого может не пережевать нормально
источник

ММ

Максим Монин... in Camunda BPM Group
нет там закругки диска, вы чо... это все в кеше БД - обьемом всего есколько кб
источник

OM

Oleg Marchenko in Camunda BPM Group
но лучше не запрашивать больше 10 топиков, иначе там банальное соединение LIKE 'topicName' что нехило нагружает БД
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
если там кэш, то вполне нормально) лучше один раз full scan, чем 100 раз index seek))
(шутка, но в каждой шутке))
источник

OM

Oleg Marchenko in Camunda BPM Group
у вас каждый сервис дергает fetchAndLock() чисто для своего топика?
источник

ММ

Максим Монин... in Camunda BPM Group
ну я посчитал что использовать много топик неудобно слишком. Один итот же код дублировать. Поэтому каждая задача имеет 2 параметра основных method + params, по мектоду идет внутренний роутинг в сервисе, и все на одном topic
источник

ММ

Максим Монин... in Camunda BPM Group
да
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
каждый fetchAndLock порождает один опрос в БД свой
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
вот и считайте
источник

ММ

Максим Монин... in Camunda BPM Group
ну я мониторил postgress и смотрел что там делается
источник

ММ

Максим Монин... in Camunda BPM Group
просто раз в 10 ms прилетает однотипный запрос к БД к пустой как правило таблице
источник

OM

Oleg Marchenko in Camunda BPM Group
видимо у вас слишком мало процессов запускается и нагрузка ничтожно мала)
источник

ММ

Максим Монин... in Camunda BPM Group
ну да у меня нет миллионов процессов в день, это верно
источник

VS

Vitalii Sharavara in Camunda BPM Group
Всем привет!
Я в свое время планировал использоапть камунду для процессов. Хотелось использовать минимум java и побольше микросервисов. Ну и возникла задача как информировать ext workers о том что появилась новая таска. Поэтому я сделал вот такой POC. Но не закончил до конца. Идея в том что бы написать сделать один процесс который бвдет отправлять сообщения в RabbitMQ о новых тасках. Все остальные процессы просто отправляют месаджи в этот процесс (на картинке Task Notification) Как думаете это жизнеспособная архитектура?
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
день сурка))
источник

SD

Serg D. in Camunda BPM Group
Главный вопрос: Зачем? )))
Что мешает просто брать external task из БД и перекладывать в amqp?
источник

SD

Serg D. in Camunda BPM Group
Зачем в принципе БП должен что-то знать о RabbitMQ? Что если потом захочется перейти на Artemis или Kafka?
источник

VS

Vitalii Sharavara in Camunda BPM Group
1. Запускать таски только по ивенту
2. Не хочется трогать базу
3. Бизнес процесс ничего не знает про реббит, просто в необходимых Ext Task добавляется  в start execution listener  почти статический небольшой скрипт
4. Брокер сообщений роли не играет. Интеграция с ним осуществляется только в одном месте и можно легко переделать
источник