Сухроб Хусамов: ну в любом случае для сотни сайтов надо будет оптимизировать код, вести статитику и мониторинг.
Cluster про параллелизацию, он вам все равно пригодится.
Сухроб Хусамов: можно еще так: приложение одно на всех, пробрасывать из нджинкса в ноду в заголовках запроса, на какой домен пришел запрос, а нода в зависимости от этого будет отдавать страничку с соответствующим контентом и шкуркой. Тут все зависит от того, насколько разные эти визитки будут.
Сухроб Хусамов: хм. А статикой никак не обойтись? Нужно чтоб было именно приложение?
Потому что можно просто генерировать по параметрам клиента набор HTML-страничек и отдавать их нджинксом. Даже если там будет какая-нить форма обратной связи, ее можно обрабатывать одним скриптом для всех.
Сухроб Хусамов: А вы хотите на одной VDS-ке 100 сайтов разместить? Это в любом случае не получится:) На 100 сайтов и проц нужен соответствующий (примерно 101-ядерный), и СХД какая-то хитрая:) На чем ни пиши, хоть на ассемблере. Это во-первых. Во-вторых, аппетиты приложения тоже можно уменьшить. Я на 50% уменьшил потребление памяти, поручив отдачу статики на продакшене нджинксу.
Александр Василенко: тоже неплохо, лисп рулит. Тут надо смотреть, к чему больше тянет, к низкоуровневым вещам, где производительность важна и где к железу и OS ближе, или всякие клевые абстракции и кровавый энтерпрайз:)
Александр Вульф: Печально. Но вы же не думаете что у пользователей тостера есть какой-то свой, секретный npm, где есть пакет для работы с экселевскими фильтрами?:)
xslx, ЕМНИП, это просто zip-архив с XML-ками внутри. Теоретически можно попытаться понять, что там где с фильтрами (например, сохранив одну и ту же таблицу сначала без фильтра, потом с), ну или поискать описание формата. Возможно, есть какие-то command-line утилиты для этого. Если сервак на винде (бывает и такое), можно просто заставить сам Excel делать это.
Valeriy Donika: никто не мешает юзать MySQL и в node.js, если что. Есть несколько ORM разной степени прекрасности: sequelizejs.com, bookshelfjs.org, есть просто query-билдеры. Имхо, монгу имеет смысл юзать, если надо обрабатывать гео-данные -- в этом она хороша; и то, то же самое есть и в Postgre и даже вроде в MySQL появилось.
RaulDuke: понял вас. Да, в таком случае придется выбирать по ID:)
Однако не обязательно заранее держать его целиком в памяти. Можно создать новый инстанс модели, пустой, с одним только ID и сделать ему fetch -- он подтянет свои данные с сервра.
Cluster про параллелизацию, он вам все равно пригодится.