Большая история крохотного BPMN

IvanDonchenko 13 минут назад Большая история крохотного BPMN Средний 13 мин 300 Программирование * Анализ и проектирование систем * Микросервисы * Высоконагруженные системы * Kubernetes * Кейс Герой нашего сегодняшнего...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Вот важная новость с фронта ИИ: IvanDonchenko 13 минут назад Большая история крохотного BPMN Средний 13 мин 300 Программирование * Анализ и проектирование систем * Микросервисы * Высоконагруженные системы * Kubernetes * Кейс Герой нашего сегодняшнего рассказа — скромный и, на первый взгляд, заурядный диспетчер1. В наше время таких на заграничный манер все чаще назовут «роутер», поэтому, надеюсь, читатель простит меня за то, что буду использовать оба термина. Обосновался наш диспетчер на самой верхушке каталога процессов в Camunda-кластере сервиса бронирования жилья.
Единственная его трудовая обязанность за целую смену — разбирать входящую корреспонденцию и направлять конечным обработчикам: работа не пыльная и все больше однообразная. Примечательного в нем на первый взгляд мало: аккуратный, документированный и до педантизма лаконичный, в таком и сломаться-то вроде нечему. Впрочем, смотрите сами2:ПротагонистВот тут бы уже внимательному читателю в столь нехвалебной моей характеристике и заметить одну особенность, я бы даже сказал, странность, нашего процесса — он как будто стоит на месте.
Технические детали
И это, дорогой мой друг, by design, так он свою задачу-то и выполняет. И пускай иной скажет, мол, написать такой процесс можно в обеденный перерыв, попивая на летней веранде раф на кокосовом, а между тем этой простой и в чем-то, пожалуй, даже нелепой конструкции есть о чем вам рассказать. Как устроен роутерКратко про Camunda для тех, кто не в танке Camunda 8 — движок бизнес-процессов, ядро которого — Zeebe — было для восьмерки написано с нуля.
Поэтому восьмая версия — это не апгрейд седьмой, а полностью другой инструмент. Многие изыскания и аргументы из этой статьи к седьмой версии применимы быть не могут ввиду радикально разной архитектуры. 8 отдельные UI web-приложения: Operate (мониторинг и отладка) и Tasklist (ручной запуск процессов, управление задачами, веб-формы) — перекочевали в единый Orchestration Cluster.
Вся логика работы описывается одним предложением: забирать из Kafka-топика обращения (тикеты) пользователей, зарегистрированные первой линией поддержки, читать поле «тип обращения» и передавать процессу, обрабатывающему этот тип. Один в полеГлавное, что нужно сказать о нашем герое, — он одиночка, в любой момент времени функционирует только один экземпляр (инстанс) процесса. Завершая работу, роутер отправляет сигнал своему преемнику, который незамедлительно встает на смену.
Отраслевые последствия
На случай сбоя или первого включения оператор может запустить роутер вручную. Приступивший же к работе экземпляр первым делом шлет сигнал всем своим сослуживцам, чтоб завершили работу. В норме это чистая предосторожность, но гарантирует, что никаких параллельных процессов не ведется, покрывая, например, ситуацию запуска оператором второго экземпляра.
Передача сменыВся эта конструкция держится на строгом порядке событий в BPMN: kill-сигнал транслируется до того, как экземпляр-эмитент сам дошел до этапа подписки на этот сигнал.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





