В распределенных системах, помимо задач управления данными и транзакциями, существуют задачи управления самими процессами. Бывают сложные сценарии с множеством ветвлений, условиями, повторными попытками, откатами и длительными ожиданиями. В таких случаях уже невозможно либо очень трудно использовать простые цепочки вызовов и реакцию на события, это быстро превращает нашу систему в «спагетти» — запутанную, хрупкую и неподдающуюся тестированию. На помощь приходит паттерн Process Manager. Process Manager — паттерн проектирования, который позволяет управлять логикой сложных процессов, в том числе и в распределенных системах. Он выступает в роли центрального координатора, отслеживающего каждый шаг процесса и принимающего решения о дальнейших действиях. Типичная реализация Process Manager — надстройка над другим паттерном — State Machine или State Charts. Но в отличие от состояния, Process Manager это сохраняемая (персистентная) State Machine. Он знает на каком шаге в данный момент находится
Укротитель хаоса: как Process Manager спасает ваши распределенные системы от "спагетти-вызовов"
26 февраля26 фев
2
3 мин