У Сергея Баранова вышло обновление интересной статьи о связи между экономикой и архитектурой. Мне не понравился один абзац:
Я согласен, что для агентов слабая связанность - предпочтительнее. Однако не все задачи покрываются агентами. Такой локальный заход в статье о более общих материях выглядит некоторой натяжкой.
❓Стоимость координации. Необходимость координации слабосвязанных систем делает их более сложными из-за особенностей работы с данными в режиме слабой согласованности.
❓Распространение ошибок. Почему ошибка не может распространяться между слабосвязанными компонентами через события или их отсутствие? При наличии сильных связей, проще говоря при синхронном взаимодействии, ошибка выявляется сразу, но текущий процесс обработки прерывается. В слабосвязанных же системах ошибки диагностируются труднее и дольше.
❓Границы и решения. Четкие границы не равны слабой связанности, это все же про разное. Есть задачи, требующие сильной связанности, есть наоборот - выбор решения идет от задачи.
Сильно связанная архитектура увеличивает стоимость координации. Изменение одного агента требует согласования с другими, локальная ошибка распространяется по всей системе, а скорость адаптации определяется самым медленным участником. Слабая связанность, понятные границы и наблюдаемая обратная связь уменьшают стоимость взаимодействия. Агенты получают возможность принимать локальные решения, проверять их последствия и корректировать поведение, не перестраивая всю систему.
Я согласен, что для агентов слабая связанность - предпочтительнее. Однако не все задачи покрываются агентами. Такой локальный заход в статье о более общих материях выглядит некоторой натяжкой.
❓Стоимость координации. Необходимость координации слабосвязанных систем делает их более сложными из-за особенностей работы с данными в режиме слабой согласованности.
❓Распространение ошибок. Почему ошибка не может распространяться между слабосвязанными компонентами через события или их отсутствие? При наличии сильных связей, проще говоря при синхронном взаимодействии, ошибка выявляется сразу, но текущий процесс обработки прерывается. В слабосвязанных же системах ошибки диагностируются труднее и дольше.
❓Границы и решения. Четкие границы не равны слабой связанности, это все же про разное. Есть задачи, требующие сильной связанности, есть наоборот - выбор решения идет от задачи.