tgoop.com/emacsway_log/1022
Last Update:
🔷 "SAGA — эволюция и новые смыслы" / Геннадий Круглов @GKruglov:
- https://www.tgoop.com/ru_arc/165
Хочу оставить свою рецензию.
Что такое архитектурное решение? Его суть сводится к тому, чтобы бесконечно большое множество вариантов реализации сократить до одного единственного варианта. Иными словами, архитектура - это о том, как не надо делать. И здесь важно не многообразие вариантов само по себе, а те критерии, по которым их количество можно сократить.
Если не понимать решаемой проблемы, тогда никакое решение не будет правильным. Непонимание причинно-следственной связи называется в индустрии Карго-культом, а утрата семантических отношений - "Синдромом коллекционера".
Лучше всего драйверы описываются первоисточниками - уж они-то точно знают, какую проблему они решали. Они дают понимание релевантности этой проблемы решаемой проблеме.
Вот об этом доклад Гены.
Какую проблему решала SAGA? А транзакция? А атомарность? А SAGA - это транзакция? А SAGA атомарна? Почему?
Вот Sam Newman утверждает, что SAGA неатомарна, а Chris Richardson - наоборот, что она атомарна. Вероятно, кто-то из них не стал утруждаться исследованием вопроса, но кто же из них прав?
Гена зацепил довольно сложную тему, сложность понимания которой привело к такому бардаку вокруг этой темы. Каких только заблуждений по этой теме мне не приходилось слышать: и то, что SAGA - это stateless, в отличии от Process Manager, и то, что она обязана иметь компенсации, и т.д.
Была проделана колоссальная исследовательская работа по выявлению драйверов, причин, восстановлению исторического контекста и его актуализации. И много работы еще предстоит.
Материал презентации содержит сотни человеко-дней исследовательской работы, и стал возможным исключительно благодаря консолидации опыта специалистов сообщества. И мой вклад тоже отражен в этом докладе, но особенно ценным оказался вклад @beer_Roman .
Вот только малая часть агрегации информации по этому вопросу из чата @ru_arc_chat :
- https://www.tgoop.com/ru_arc/112
Особое значение этого доклада заключается не в его содержимом, а в том, что он заложил тот самый хребет, на котором может нарастать плоть исследовательской работы, суть которой сводится к конвергенции существующего зоопарка понятий.
Конечно, хотелось бы вместить больше в этот доклад, и есть что в нем улучшить.
Но этот доклад - только первый шаг, который удалось осуществить в условиях жесточайшего дефицита времени ресурсами одного человека.
Гена зацепил еще одну, не менее важную проблему - вопрос эволюции явления. Изменяется исторический контекст. Старые понятия утрачивают историческую актуальность. На их основе возникают новые понятия. Должны ли мы наделять старые термины новым пониманием? Вот в Agile начали возвращаться проектные практики, в силу изменения исторического контекста, - он перестал быть Agile? Вот SAGA стала решать проблемы распределенных систем, а не LLT - она перестала быть SAGA? А если она стала хореографической - она остается быть SAGA? Вот появились уровни зрелости CQRS - нужно ли изменить его определение, чтобы включить в него CQS?
Кажется, первый луч света в этом тумане неразберихи начал уже пробиваться.
BY emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Share with your friend now:
tgoop.com/emacsway_log/1022