В чем разница между двухуровневой и трехуровневой архитектурой?
Я использую JDBC в своем приложении с бизнес-логикой (клиент). Этот JDBC подключается к базе данных, которая находится на другом компьютере (сервере). В этом случае мой JDBC напрямую соединяется с базой данных и сохраняет и получает данные. Это двухуровневая архитектура, верно?
В другом приложении, например, в программировании сервлетов, у меня просто есть браузер на моем клиентском компьютере, который является уровнем представления (уровень клиента). Позвольте мне рассмотреть мою бизнес-логику как уровень приложений (второй уровень) и базу данных как уровень данных (третий уровень). Тем не менее я использую JDBC для соединения своего приложения (бизнес-логика) с базой данных. Второй и третий уровни теперь находятся на сервере.
В приведенном выше примере в трехуровневой архитектуре браузер только добавлял и сохранял мою бизнес-логику на сервере. Я не чувствую никакой разницы в производительности, кроме этих. Если я ошибаюсь, поправьте меня и объясните мне точную архитектуру двухуровневой и трехуровневой с другими примерами. Заранее спасибо, дорогие друзья.
1 ответ
То, что вы говорите, правильно.
- У вас первый пример двухуровневый.
- Второй пример - трехуровневый.
Трехуровневая архитектура может представлять существенный выигрыш в производительности, если связь между браузером и сервером медленнее, чем связь между сервером и СУБД. Это связано с тем, что обычно бизнес-логике необходимо совершать несколько обращений к СУБД и / или представлять пользователю только небольшую часть информации, возвращаемой СУБД. Наличие бизнес-логики на клиенте при медленном соединении с СУБД представляет собой существенное снижение производительности.
В типичном веб-сценарии соединение между клиентом и сервером обычно в несколько раз медленнее, чем соединение между сервером и СУБД, и это повышает производительность.