Comments 1
Мне очень нравится Temporal - по удобству это на голову выше всех этих дагов и диаграмм. Но если честно, вся эта магия сводится к одной простой вещи: нужны сериализуемые продолжения выполнения (по сути — возможность заморозить текущее состояние куска кода и потом разморозить его). И для этого не нужна какая-то новая тяжёлая архитектура. Нужно просто где-то хранить состояние - и это может быть что угодно: Kafka или любой другой брокер сообщений, обычная реляционная база, да хоть просто файл, в зависимости от того какие конкретно гарантии нужны.
Обсервабилити тоже нигде не пришита намертво - бери любую, которая уже есть.
И вот чего я не понимаю: почему большие игроки до сих пор не делают нормальных сериализуемых продолжений выполнения? И это правда несложно - я сам набросал прототип буквально за пару недель https://github.com/javactrl/javactrl-kafka. Для Microsoft или Oracle такая задача вообще ерунда. Но Microsoft, вместо того чтобы просто сохранять состояние, почему-то в своём Durable Task решил идти путём перезапусков.
Workflow like it’s hot или почему Temporal.io это база для бизнес логики