Что я должен создать: расширение сервера Apache или сервер с нуля? - PullRequest
0 голосов
/ 14 апреля 2009

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

Вот более подробное описание проблемы: мне нужно создать сервер (назовите этот сервер Alpha), который отправляет запросы на другой сервер (назовите этот сервер Omega) на основе веб-страниц, запрашиваемых клиентом. Запросы являются сетевыми сообщениями и не являются запросами SQL. Запрашиваемая информация будет частью контента, который предоставляется клиентам Альфы. Например, клиент может захотеть отобразить список друзей. Альфа запросит у Омеги список друзей клиента. Альфа затем отображает веб-страницу со списком друзей.

Клиенты не могут подключиться напрямую к Omega. Сервер Alpha в значительной степени просто обрабатывает клиентские соединения, управляет запросами от клиента к серверу Omega и обслуживает новые веб-страницы (которые могут содержать информацию, запрашиваемую из Omega).

Я новичок в веб-разработке. Я не знаю много о модулях Apache. Но, похоже, большинство функций уже доступно в Apache. Похоже, что Apache можно расширить для отправки сетевых сообщений, которые запрашивают информацию с другого сервера, Omega. Другой вариант - создать сервер Alpha с нуля.

Какой подход вы бы использовали? Есть ли другой подход, который лучше?

Ответы [ 3 ]

2 голосов
/ 14 апреля 2009

Не имея более подробной информации о том, что вы делаете, похоже, что любой из этих подходов был бы излишним. Если бы я делал запросы к списку друзей в современной среде веб-программирования, я бы рассмотрел что-то вроде следующего:

  • Сервер Alpha - это мой обычный веб-стек: Apache, мой сервер приложений (т.е. Passenger for Rails или что-то вроде JBoss для Java и т. Д.).
  • Сервер Omega, очевидно, уже существует, поэтому я не буду его рассматривать. Если он не существует, это может быть другой сервер, настроенный как Alpha.

Учитывая, что:

  • Веб-запросы от пользователей приходят в Alpha через www.
  • Мое веб-приложение на Alpha подключается к Omega по соответствующему протоколу. Это может быть XMPP для запроса к серверу Jabber, или LDAP, или что-то еще. Омега возвращает свои результаты.
  • Веб-приложение на Alpha использует эти результаты для создания страницы для возврата пользователю.
1 голос
/ 14 апреля 2009

Судя по всему, это такая система, которая обслуживается довольно обычной скриптовой веб-страницей. Используя, например, PHP, скрипт вызывает внутренний веб-сервис и создает веб-страницу с информацией. Сколько обработки требуется, зависит от разницы между выводом из Omega и тем, как вы хотите, чтобы HTML выглядел.

Модуль Apache кажется слишком сложным - и совершенно новый сервер полностью перебил.

1 голос
/ 14 апреля 2009

Звучит так, будто вам нужен либо обратный прокси, либо сервер приложений. Вы немного расплывчаты в отношении того, какие данные на самом деле возвращает Omega - если вы хотите, чтобы Omega генерировала веб-страницы, посмотрите на обратные прокси. Apache имеет встроенный прокси-модуль, но я слышал, что Squid имеет лучшую производительность:

Если Alpha и Omega используют собственный протокол, то вы можете рассматривать Omega как сервер приложений .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...