Должен ли я разместить сайт и REST API на одном сервере или разделить? - PullRequest
6 голосов
/ 27 мая 2009

У меня есть веб-приложение, которое состоит из веб-сайта и REST API. Должен ли я разместить их на одном сервере или я должен разместить их на разных серверах? Под «сервером» я подразумеваю кластер серверов - несколько серверов за балансировщиком нагрузки.

API - это в основном входящий трафик, веб-сайт - в основном, исходящий.

Если это имеет значение - размещено на Rackspace и / или AWS.

Вот что я вижу до сих пор:

Преимущества наличия веб-сайта и REST API на одном сервере

  • Простое развертывание
  • Простое масштабирование - что-то медленное - просто запустите другой экземпляр
  • Конфигурация с одним балансировщиком нагрузки
  • Простой мониторинг
  • Простой, простой, простой ...
  • Эффективное использование дуплексной сети (API - входящий, веб-сайт - исходящий)

Преимущества расщепления

  • Перегрузка API не повлияет на время загрузки сайта
  • Детальный мониторинг (я буду знать, какой компонент использует ресурсы в данный момент)

Есть комментарии?

Спасибо

Александр

Ответы [ 3 ]

2 голосов
/ 27 мая 2009

Как вы заявили, в большинстве ситуаций есть больше преимуществ в размещении API на том же сервере, что и на сайте. Так что я бы придерживался этого варианта.

Но если вы прогнозируете выделение трафика для веб-сайта или API, тогда, возможно, более подходящий отдельный сервер подойдет.

0 голосов
/ 27 мая 2009

Ваш список достоинств / недостатков - это эксплуатационные соображения, но вы также должны учитывать потребности приложений.

  • Кэширование
  • Безопасность
  • Другие ресурсы, т.е. файловая система

Они могут применяться, а могут и не применяться, но если ваша прикладная архитектура отличается между ними, обязательно учтите это в своем решении.

0 голосов
/ 27 мая 2009

Если это на балансировщике нагрузки, почему бы вам не оставить службы и страницы на одном сайте и позволить балансировщику нагрузки / кластеру выполнить свою работу?

...