Многоуровневая против распространяется?


Многоуровневые и / или ditstrubuted приложения, имеют ли они одинаковое значение ?

Когда мы говорим о слоях в этих приложениях, это физические слои (база данных, браузер, веб-сервер,...) или логические слои (уровень доступа к данным, БИЗНЕС-уровень,...)?

3 2

3 ответа:

Может быть, эти два предложения действительно интуитивно передают различие между распределенными и многоуровневыми:

  • распределенный : вы реплицируете обработку между узлами
  • многоуровневый: Вы разделяете обработку между уровнями

В одном случае одна и та же обработка реплицируется на несколько узлов. В другом случае каждый уровень несет определенную ответственность, и обработка, выполняемая на каждом уровне, отличается.

Оба понятия не являются исключительными: вы можете иметь распределенные многоуровневые приложения (если нет формы избыточности / репликации), распределенные приложения, которые не являются многоуровневыми, но также многоуровневые приложения, которые распределены (если они имеют некоторую форму избыточности).

О различии можно было бы сказать гораздо больше, но различие (для меня), по существу, существует.

У Ewernli здесь в основном правильный ответ. Единственный недостающий фрагмент из первоначального вопроса касается физического и логического уровней.

С распределенной и / или многоуровневой точки зрения, являются ли слои физически отдельными или просто логически таковыми, не имеет значения. То есть, это не имеет значения. Вы можете создавать многоуровневые и даже распределенные приложения, которые находятся полностью на одном экземпляре машины.

Тем не менее, более распространено разделение уровней в различные машины, построенные специально для этого типа нагрузки. Например, веб-сервер и сервер баз данных. Или даже веб-сервер, несколько машин веб-служб и один или несколько серверов баз данных.

Все эти функции, распределенные, многоуровневые и/или сбалансированные по нагрузке с логическими и / или физическими уровнями, являются просто функциями дизайна приложения.

Далее, в современном мире виртуальных машин вполне возможно (и даже вероятно) создать многоуровневую систему., распределенное и сбалансированное по нагрузке приложение в пределах одной реальной машины. Хотя я бы никогда не рекомендовал этот курс действий, потому что смысл балансировки нагрузки и распределенных служб обычно заключается в повышении доступности или пропускной способности.

Многоуровневый означает, что ваше приложение будет базироваться на нескольких машинах с различными задачами (база данных, веб-приложение,...). Распределенный означает, что ваше приложение будет работать на нескольких машинах одновременно, например, ваш сайт может быть размещен на 3 разных серверах.

Для многоуровневых приложений мы обычно говорим о физическом уровне. Но в каждом приложении вы можете/должны иметь разные логические слои.