Есть ли название для этого архитектурного образца? - PullRequest
2 голосов
/ 22 августа 2009

Предположим, у вас есть веб-сайт, состоящий из:

  • Веб-сервер, обслуживающий запросы различных пользователей
  • БД для персистентности
  • Отдельный сервер асинхронно выполняет фоновые операции - готовит данные в БД, обновляет их в соответствии с изменениями и т. Д. - независимо от того, что происходит на главном сервере .

Вы можете легко перевести это в другой мир и, например, поговорить о потоках - то есть иметь один поток, асинхронно подготавливающий данные для основного потока, который работает.

Есть ли название для этого паттерна, если это вообще паттерн?

Есть ли плюсы / минусы для этого метода обработки данных с точки зрения производительности?


Позвольте мне пояснить, что я спрашиваю конкретно о втором веб-сервере, выполняющем фоновую обработку, а не обо всей архитектуре.

Ответы [ 3 ]

3 голосов
/ 22 августа 2009

У всего есть шаблоны. Если вы видели это более двух раз, есть образец.

У вас есть три примера Клиент-сервер .

У вас есть Браузер-веб-сервер .

У вас есть веб-сервер в роли Клиент БД , говорящий с Сервер БД .

У вас есть веб-сервер в роли клиент сервера приложений , разговаривающий с сервером приложений .

Иногда людям нравится называть это N-Tier , поскольку существует три уровня Browser-Web Server-DB Server , плюс дополнительный уровень сервера приложений.

Некоторые люди расширяют эту концепцию до Services Bus . Ваш веб-сервер использует сервер БД и сервер приложений.

Асинхронный внутренний и Внутренний сервер - это имена, которые я слышал для описания архитектуры вашего сервера приложений.

2 голосов
/ 22 августа 2009

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

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

0 голосов
/ 22 августа 2009

Я не знаю, является ли это официально именем шаблона, но это выглядит почти как пакетная обработка из мейнфреймов.

...