2016-03-29 1 views
3

Я разрабатываю приложение node.js, которое будет иметь очень высокую нагрузку (тысячи запросов в секунду), и я хочу получить консультацию у кого-то, кто сталкивается с приложениями с высокой загрузкой node.js и ORM.Лучший модуль ORM узла для приложения с высокой нагрузкой

Я использую node-orm2 для небольших проектов, но я не знаю, является ли это правильным выбором в этом случае.

Приложение потребует тысячи чтения/записи базы данных в секунду, и я хочу использовать ORM-модуль, который обеспечивает максимальную производительность при любой нагрузке на обслуживание.

Я буду использовать PostgreSQL в качестве базы данных.

+0

Я не знаю о производительности, но [sequelize] (http://docs.sequelizejs.com/en/latest/) является одним из наиболее используемых ORM в среде nodejs. Вы можете сделать бенчмарк. – Shanoor

+0

ORM-s обычно медленны. Если вам нужна высокая производительность, не используйте. Вам нужна инфраструктура, которая может быть легко оптимизирована для высокой производительности, а также проста в использовании, например [pg-prom] (https://github.com/vitaly-t/pg-promise). –

+0

@ vitaly-t Я вижу, что вы создатель pg-обещаний. Какими будут эти оптимизации? – karliwson

ответ

1

Я не уверен, что использование orm при высокой нагрузке - хорошая идея.

Недавно я попробовал несколько различных орлов и баз данных в проекте узла с высокой нагрузкой и пришел к выводу, что лучший способ использования чего-то вроде Redis и npm модуля, такого как ioredis.

В качестве опции вы можете использовать разные базы данных для регулярной и высокой нагрузки. Например, PostgreSQL с продолжением для регулярной работы и некоторыми NoSQL, такими как Redis для высокой нагрузки.

И если возможно, попробуйте выполнить кеширование результатов или избежать базовых запросов dada как можно больше.

Если вы найдете другое решение, сообщите мне, потому что для меня это очень важный вопрос.