Во первых, мы тоже делаем магазин, во вторых - я так поступал еще лет 10-15 назад, когда небыло ни solr, ни эластика, а была голая люсина. В третьих - поиск очень эффективен и на порядки быстрее базы данных. В четвертых - индекс гораздо легче просто убить и создать новый. В пятых, там где нужна связанность, ее можно сделать и в базе данных, или делать искуственные транзакции. Ну и в шестых - это красиво.
Затраты на 10G не особенно большие, карточки по 10-15К рублей, плюс коммутатор за 40К.
Готовить его особенно сильно не нужно, у нас живет уже около 5 лет. Зато плюсов просто не счесть.
Вместо дорогих карточек можно сделать бондинг на гигабитных (2-4 канальных), или поискать юзаный инфинибанд :-)
В любом случае, установив 10G карточки, получите существенный профит!
P_Alexander, причем здесь роль без пароля?
1) Разберитесь, какая схема авторизации у вас сейчас реализована, и через какие инструменты (библиотеки - сервисы). Если текущая авторизация непременно требует ввода логина/пароля, то закрывайте только самое необходимое, на остальное проверяйте на отсутствие авторизации
2) Или переделывайте схему авторизации, вариант с pac4j я вам посоветовал.
alt22, Э.... там же аглицким по белому- это драйвер для эластика. Он может быть и ни от чего не зависит, но как бы он создан для работы с эластиком... А собственно для чего он тогда нужен? Масляный фильтр не подразумевает наличия машины и двигателя.
Ставя драйвер для mysql или redis, вы же не думаете, что у вас будет все работать без соответствующих баз данных?
alt22, ну посмотрите в процессах, запущен ли у вас эластик! нажмите crtl-alt-del и посмотрите список процессов.
Вы же как-то эластик устанавливали, запускали....
Зачем ставят nginx перед nodejs или любым другим web-сервером или приложением?
Nginx простой в конфигурировании и может очень просто, через набор правил перенаправлять запросы с одного приложения на другое, или в случае с nodejs, осуществлять балансировку между несколькими nodejs. Ну и что-то подкрутить в nginx гораздо легче, чем править конфиги в приложении.
Например у нас есть четырех-ядерный сервер, мы на нем запускаем 4 копии web-приложения, каждое из которых жрет один CPU. Впереди ставим nginx с балансировкой и получаем большой профит.
Ну и на nginx еще можно отдавать статику, а также лимитировать всякие загрузки, что в самом приложении иногда сделать очень тяжело или муторно, а в nginx это все есть из коробки.
Берете jooby.org и вперед, уже и так все асинхронно и с пулами потоков. Если чо не асинхронно, используете deferred (там в документации есть словечко)
Spring/rxjava/akka и все остальное по мере надобности (смотрим в модули).
Апач не нужен. А nginx, ну если особенно желаете в качестве реверс-прокси.