Показать сообщение отдельно
  #1 (permalink)  
Старый 01.11.2015, 15:15
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сверхпроизводительные приложения на node.js
С месяца на месяц запущу один проект (не опен сорц, на этот раз) и меня интересует то, как можно построить сверхпроизводительное приложение на ноде, не боящееся хабраэффекта и других небольших DDOS-подобных эффектов. С нодой знаком на очень базовом уровне, поэтому прошу помочь разобраться в вопросе.

Доставка статики
Из того, что я вычитал в интернете, статику лучше раздавать средствами ngnix, минуя node.js. Верно? У меня тут два вопроса.
Первый: при запросе к статике идет обращение к жесткому диску или SSD. Т. е. каждый запрос вызывает самую медленную операцию ввода-вывода. Можно ли после запуска сервера загрузить статику в оперативную память, избегая постоянного дергания жесткого диска? Если это невозможно (или очень сложно) сделать средствами ngnix, хочется узнать, какой вариант лучше:
а) Отдавать статику ngnix-ом (с чтением с жесткого диска)
б) Отдавать статику средствами nodejs, но предварительно загрузив содержимое статики в память.
Второй: в проекте при изменении данных (когда один из пользователей добавляет контент), меняется содержимое индексной страницы. Это будет происходить примерно раз в час. Есть ли смысл при изменении данных генерировать новый HTML файл, а не рисовать его при каждом обращении?

REST API
Планируется так же сделать небольшое API, использующее Express и Mongo. Обращение к БД тоже трудозатратное мероприятие. При перезагрузке сервера планирую выгрузить все данные (их не много) из БД в оперативную память (в обычную переменную), при добавлении данных писать в БД и обновлять переменную, а при обращении к данным не дергать БД, а отдавать стрингифицированный, отфильтрованный JSON из переменной. Есть ли смысл это делать?

Заренее прошу прощения за, возможно, неправильное употребление терминов.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием