Когда люди говорят, что компонент не рекомендуется для производства, это не значит, что он нестабилен.В большинстве случаев это означает, что это не полнофункциональное решение, учитывающее все аспекты производственного развертывания:
- масштабируемость
- отработка отказа
- безопасность
- конфигурируемость
- автоматизация
- и т. Д.
Если вы пытаетесь создать решение с точными требованиями (количество запросов в секунду, потоковая передача мультимедиа)и т. д.), вы должны опубликовать свой вопрос, чтобы сделать его конкретным.Если это не так, вам просто нужно установить базовую настройку, которая запускает вашу конфигурацию, и устранить узкие места по мере их появления.Не пытайтесь построить теоретически правильное решение сейчас.
Несколько примеров:
Классическая установка (хорошо подходит для развертываний Do-It-Yourself)
- установка Git + (Node.js и NPM) + (навсегда или эквивалент) + ваша база данных (например, MongoDB) + (NGINX или HAProxy) в ваш любимый / принятый дистрибутив Linux
- клонируйте каждое приложение Node.js в свой собственный каталог
- устанавливайте cronjobs для базового мониторинга и обслуживания
- добавляйте сценарии для динамического удаления / добавления конфигураций веб-сервера NGINX на основе удаленных / добавленных приложений Node.js
Более современная установка (подходит для развертываний AWS / GCE, но также возможна локально с такими инструментами, как skaffold )
- установить кластер Kubernetes на пару машин
- подготовить образ базового контейнера Docker, который соответствует всем вашим приложениям Node.js
- , если необходимо, добавьте файл Docker в каждое приложение Node.js, чтобы создать одинDocker imagДля каждого приложения на основе базового образа контейнера Docker
- добавьте новое развертывание для каждого вашего приложения Node.js
- Kubernetes сделает для вас "keep-alive""
- заполните соединение между вашей серверной сетью (DNS, IP, порты) и IP-адресами, предоставленными вам Kubernetes (NGINX или HAProxy также заполнит эту дыру)