Многоуровневая против распространяется?
Многоуровневые и / или ditstrubuted приложения, имеют ли они одинаковое значение ?
Когда мы говорим о слоях в этих приложениях, это физические слои (база данных, браузер, веб-сервер,...) или логические слои (уровень доступа к данным, БИЗНЕС-уровень,...)?
3 ответа:
Может быть, эти два предложения действительно интуитивно передают различие между распределенными и многоуровневыми:
- распределенный : вы реплицируете обработку между узлами
- многоуровневый: Вы разделяете обработку между уровнями
В одном случае одна и та же обработка реплицируется на несколько узлов. В другом случае каждый уровень несет определенную ответственность, и обработка, выполняемая на каждом уровне, отличается.
Оба понятия не являются исключительными: вы можете иметь распределенные многоуровневые приложения (если нет формы избыточности / репликации), распределенные приложения, которые не являются многоуровневыми, но также многоуровневые приложения, которые распределены (если они имеют некоторую форму избыточности).
О различии можно было бы сказать гораздо больше, но различие (для меня), по существу, существует.
У Ewernli здесь в основном правильный ответ. Единственный недостающий фрагмент из первоначального вопроса касается физического и логического уровней.
С распределенной и / или многоуровневой точки зрения, являются ли слои физически отдельными или просто логически таковыми, не имеет значения. То есть, это не имеет значения. Вы можете создавать многоуровневые и даже распределенные приложения, которые находятся полностью на одном экземпляре машины.
Тем не менее, более распространено разделение уровней в различные машины, построенные специально для этого типа нагрузки. Например, веб-сервер и сервер баз данных. Или даже веб-сервер, несколько машин веб-служб и один или несколько серверов баз данных.
Все эти функции, распределенные, многоуровневые и/или сбалансированные по нагрузке с логическими и / или физическими уровнями, являются просто функциями дизайна приложения.
Далее, в современном мире виртуальных машин вполне возможно (и даже вероятно) создать многоуровневую систему., распределенное и сбалансированное по нагрузке приложение в пределах одной реальной машины. Хотя я бы никогда не рекомендовал этот курс действий, потому что смысл балансировки нагрузки и распределенных служб обычно заключается в повышении доступности или пропускной способности.
Многоуровневый означает, что ваше приложение будет базироваться на нескольких машинах с различными задачами (база данных, веб-приложение,...). Распределенный означает, что ваше приложение будет работать на нескольких машинах одновременно, например, ваш сайт может быть размещен на 3 разных серверах.
Для многоуровневых приложений мы обычно говорим о физическом уровне. Но в каждом приложении вы можете/должны иметь разные логические слои.