Amir
так вот вопрос собсвенно в обратку
Amir
а почему у вас в голове рождается идея отдавать статику на ноде
Amir
и других языках?)
Amir
типа 1 точка входа там и код и статика и блекджек с поетесаами и все все?
Amir
го тут причем?)
Anonymous
на продакшене всегда статику раздаю через nginx
Amir
я все вдокере держу
Amir
один фиг поправил 3 строчки и прод
Pavel
А как, кстати, правильно раздавать статику от nodejs-приложения, если оно в докере?
Denis
Мы через отдельный image с nginx и node.js, т.е. кастомизированный Dockerfile, который после сборки вместо запуска Node.js app запускает nginx
Evgeny
можно шарить через CIFS
Pavel
Т.е. собираем образ с приложением, и образ nginx'а со статикой этого приложения?
Denis
Да
Amir
Приехали
Amir
На статике нет
Amir
Больше чем енжинкс и нода
Amir
Но быстрее ноды точно
Roman
На статике нет
Вот сразу видно людей не знающих отличий мультиплексоров от prefork
Vint
@pragus прав, апачу очень плохо при большом кол-ве медленных соединений.
Но отсюда и ответ, почему nginx лучше Node для статики - зачем ноде заниматься этим? Ей своей "динамики" с головой хватает. А обслуживанием внешних клиентов с медленным и лагающим инетом пусть занимается nginx.
Amir
Пусть будет по вашему Роман.
Roman
Vint
Например?
Amir
Я не спорил вообще, если есть вариант отдавать статику апачем или нодой, лучше апач
Amir
Если есть енжинкс, лучше в разы
Amir
openresty для тех случаев есть
Amir
Мы же тут не про хайлоад трем
Amir
Вы со статикой быстрее в канал упретесь чем в память
Amir
Я не упираюсь, Апач терпеть не могу как и попытки использовать язык какой-то вместо профильного софта типа енжинкса
Amir
Машина с любым сервисом наружу ддоситься
Amir
Лично я против костылей в виде ноды отдающей статику
Anonymous
+1
Anonymous
на продакшн ноде не место (статика)
Vint
Amir
Даже динамику можно качественно отбывать nginx + ssi
Amir
Не учителя людей плохому, запроксировать контент статичный и сервис в роде 10 минут гугления
Amir
Ноде*
Amir
Это уже не статика
Roman
это первая проблема. вторая проблема - на моих задачах уж слишком много начинает занимать копирование памяти
Roman
Это уже не статика
с чего бы вдруг? всего лишь надо несколько файлов с диска склеить и отдать как один
Amir
Потому что у вас логика
Amir
Какой файл следующий
Amir
В одной точке входа
Amir
В разных случаях вернётся разный набор файлов
Amir
То что вы отдаёт кстати ярый контент это другой разговор
Amir
Статичный контент*
Roman
да не файл, а поток байт.
Amir
Ваша ручка возвращает Динамику
Amir
Все поток байт;)
Amir
В статике это одинаковый результат
Vint
да не файл, а поток байт.
А этот поток можно сформировать и положить на диск, чтобы потом отдавать через nginx? Если да, то так и надо делать.
Иначе, действительно, динамика получается.
Amir
Ну в таком случае openresty, golang
Amir
Если много
Amir
Либо много НОД за балансировщикамм
Amir
Всегда можно запросить контент
Amir
И получить редирект на поток байт в виде файла
Amir
Который вы дописываете быстрее чем его читают
Amir
Енжинкс хорошо
Amir
Нода не балансировщик
Amir
И н сервер раздачи статики
Vint
Именно. Даже нативный cluster лучше заменить балансировкой на nginx.
Amir
Нативный кластер?)
Amir
Он ужасен
Amir
Код посмотрите
Amir
upd
Amir
Udp т.е.
Vint
Я о том и говорю. Но он не ужасен, у него цель другая просто.
Amir
Дайте нагрузку и теряйте пакеты
Roman
nginx - плохой балансер
Amir
А хапрокси не лучше
Amir
Быстрее но не лучше
Amir
Что тотдопиливать на луа придется