Хостинг сервера и клиентского приложения на другом сервере или на одном сервере? - PullRequest
1 голос
/ 26 апреля 2020

Я работаю над учебным проектом. Я создал систему аутентификации в nodejs с использованием локальной стратегии и стратегии Google. Фронт - приложение для реагирования. Существует два варианта хостинга

  1. Развертывание внешнего интерфейса на серверах хостинга stati c, таких как страницы netlify или github и приложение узла узла на heroku.
  2. Развертывание как внутреннего, так и внешнего интерфейса на heroku с кодом внешнего интерфейса в папке publi c и использованием express .stati c ('publi c')

Я запутался в обоих этих подходах и не смог найти ответ на inte rnet. Будет очень полезно, если вы сможете объяснить плюсы и минусы как метода, так и того, какой метод подходит в каких условиях. Ссылки на статьи также приветствуются. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

Первый подход

Плюсы:

  • Stati c контент, обслуживаемый с другого сервера, имеет больший потенциал оптимизации (с использованием краевого кэширования S3 / CloudFront), nginx - это потрясающе быстрое обслуживание stati c файлов
  • Меньше сетевого трафика c на одном сервере (контент может обслуживаться из нескольких точек параллельно)
  • Приложение nodejs не должно «напрасно» тратит время на обработку stati c файлов, которые никогда не меняются, поскольку у них больше времени для фактической динамичности c content

Cons

  • Требуется больше настроек, так как он работает в другом источнике (работа с CORS, соответствующие настройки безопасности)
  • Преждевременная оптимизация
  • Больше обслуживания

Второй подход

Плюсы :

  • Легче развернуть
  • В большинстве случаев достаточно быстро
0 голосов
/ 26 апреля 2020

Я могу привести пример, основанный на компании, в которой я работаю. Мы отделяем заднюю и переднюю часть на разных серверах для безопасности и удобства. Мы блокируем все ip от отправки запросов к нашему бэкэнду и выпускаем только ip переднего сервера. Мы создаем определенные c правила для каждого сервера в отдельности, и если один из серверов останавливается по какой-либо причине, он не влияет на другой.

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

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