Nginx + сервисный узелjs + балансировщик нагрузки - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь узнать о балансировщике нагрузки.
Я создал виртуальную машину на digitalOcean,
Я также подключился к этой виртуальной машине через шпаклевку.
Выполнены некоторые действия, такие как установка docker и git.

Я работаю на Ubuntu Docker 5: 19.03.1 ~ 3 18.04, это самая дешевая виртуальная машина из доступных.

введите описание изображения здесь

Эти два узла работают хорошо, я проверил его через почтальона и получил ответ, но всякий раз, когда я пытаюсь пропинговать через vm-IP: 80 Я получил тайм-аут.

Рекомендации, используемые для создания nginx
Запуск докера -d -p 80:80 --name nginx-micro nginx-micro

Рекомендации, используемые для создания nodejs
Докер run -d-p 5003: 2222 - имя hello1 привет
запуск Docker -d -p 5004: 2222 - имя hello2 привет

файл Docker используется для образа nginx

FROM nginx
COPY nginx.conf /etc/nginx/conf.d/default.conf

nginx.conf

upstream welcome {
    least_conn;
    server vm-ip:5003;
    server vm-ip:5004;
}

server {
    location / {
        proxy_pass http://welcome;
    }
}

Dockerfile node.js

FROM mhart/alpine-node
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
EXPOSE 2222
CMD [ "node", "server.js" ]

node.js

const express = require('express');
const os = require('os');
app.get('/', (req, res) => res.send(os.hostname()));
app.listen(port, () => console.log(`Example app listening on port ${port}!`));

Я ожидаю разделить запрос между этими двумя узлами.Журналы из докера показывают 110 попыток при подключении к апстриму.

Я правильно это делаю?Есть ли готовое лучшее решение?Есть ли у вас какие-либо советы?

Оффтоп: шлюз должен быть расположен до или после контейнера балансировщика нагрузки?

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