В чем разница между двухуровневой и трехуровневой архитектурой?

Я использую JDBC в своем приложении с бизнес-логикой (клиент). Этот JDBC подключается к базе данных, которая находится на другом компьютере (сервере). В этом случае мой JDBC напрямую соединяется с базой данных и сохраняет и получает данные. Это двухуровневая архитектура, верно?

В другом приложении, например, в программировании сервлетов, у меня просто есть браузер на моем клиентском компьютере, который является уровнем представления (уровень клиента). Позвольте мне рассмотреть мою бизнес-логику как уровень приложений (второй уровень) и базу данных как уровень данных (третий уровень). Тем не менее я использую JDBC для соединения своего приложения (бизнес-логика) с базой данных. Второй и третий уровни теперь находятся на сервере.

В приведенном выше примере в трехуровневой архитектуре браузер только добавлял и сохранял мою бизнес-логику на сервере. Я не чувствую никакой разницы в производительности, кроме этих. Если я ошибаюсь, поправьте меня и объясните мне точную архитектуру двухуровневой и трехуровневой с другими примерами. Заранее спасибо, дорогие друзья.

1 ответ

Решение

То, что вы говорите, правильно.

  1. У вас первый пример двухуровневый.
  2. Второй пример - трехуровневый.

Трехуровневая архитектура может представлять существенный выигрыш в производительности, если связь между браузером и сервером медленнее, чем связь между сервером и СУБД. Это связано с тем, что обычно бизнес-логике необходимо совершать несколько обращений к СУБД и / или представлять пользователю только небольшую часть информации, возвращаемой СУБД. Наличие бизнес-логики на клиенте при медленном соединении с СУБД представляет собой существенное снижение производительности.

В типичном веб-сценарии соединение между клиентом и сервером обычно в несколько раз медленнее, чем соединение между сервером и СУБД, и это повышает производительность.

Другие вопросы по тегам