Многозвенная архитектура (multitier architecture) – это архитектурный стиль развёртывания приложений, подразумевающий разделение компонентов на функциональные группы, подобно тому, как это происходит в многоуровневой архитектуре. Группа (реже – несколько групп) формируют звено (tier) – часть приложения, которая физически обособлена, выполняется в отдельном процессе или на отдельном физическом компьютере.
Многозвенная архитектура характеризуется следующими принципами:
1. Это архитектурный стиль развёртывания многоуровневой архитектуры.
2. Звенья зависят только от своих непосредственных соседей. Звено n знает, как обрабатывать запросы от звена n+1, передавать запросы к звену n-1 и интерпретировать полученные результаты.
3. Уровень развёртывается в отдельное звено, если функциями этого уровня пользуются внешние приложения и сервисы. В противном случае размещение уровня в отдельном звене возможно, но не обязательно.
Преимущества многозвенной архитектуры:
– Удобство сопровождения. Физическая изоляция звеньев облегчает замену оборудования.
|
|
– Масштабируемость. При увеличении нагрузки на одно из звеньев возможно лёгкое увеличение количества оборудования в звене.
– Увеличение работоспособности и доступность. Этот показатель возрастает благодаря физической изолированности и независимости оборудования.
В качестве примера использования данного архитектурного стиля приведём типичное веб-приложение с повышенными требования к безопасности обрабатываемых данных. В таком веб-приложении компоненты бизнес-логики можно разместить на отдельном физическом сервере, который связан с веб-сервером по интрасети. Веб-сервер принимает запросы пользователей из внешней сети, перенаправляет их на обработку серверу с бизнес-логикой, обработанные данные представляет в виде веб-страниц. Если слой доступа к данным также размещается на отдельном компьютере, то мы получим достаточно распространённый вариант – трёхзвенную архитектуру (рис. 3).
Рис. 3. Пример трёхзвенной архитектуры.