Мы используем облачный хостинг (Linode) для размещения приложения chat.js (и socket.io) для чата с redis в качестве основной БД. Мы еще не запущены, но мы смотрим на размещение redis и node.js на одном компьютере (экземпляр 8 gb, redis ограничен до 5 ГБ, например). Вся связь будет проводиться в redis (т.е. прямо с клиента на redis, без переменных для диалога в node.js). Чтобы избежать сетевых путешествий, анимируйте другие шеи бутылки, мы смотрим на хостинг redis и node.js на том же сервере. Я не могу найти что-либо в документации, которая заявила бы, что это плохая идея, но наш парень из сисопов не убежден. Есть ли недостатки в том, чтобы спустить этот маршрут?Node.js и redis на том же сервере?
ответ
См. Очень похожий ответ, который я опубликовал по аналогичному вопросу о SO: Redis deployment configuration - master slave replication, где ОП имел аналогичную проблему, но его беспокойство было более связано с производительностью.
Основная проблема с вашим решением (простое примечание на другом ответе) - это простой факт, что ваше приложение node.js по дизайну должно быть облачным, например, в Интернете, тогда как ваш Redis или другие базы данных не должны " т.
Это не значит, что у вас будет проблема безопасности, но, на мой взгляд, лучше всего разоблачить хосты, которые вам действительно нужны, например, те, которые обычно обслуживают контент непосредственно для пользователя.
Не развертывая Redis на интернет-хосте, вы выполняете множество ограничений безопасности просто по топологическому дизайну вашей сети.
Это нормально для размещения этих услуг в той же коробке:
Да, не запускать тесты, время от времени, чтобы проверить, если вам нужно масштабировать по горизонтали или просто ударяться затопленные хозяев.
Проверил: Redis deployment configuration - master slave replication
Будут ли у меня проблемы с безопасностью, имея Redis или другую услугу, обращенную к Интернету?
Если вы знаете, что делаете - нет, у вас не будет проблем с безопасностью. Но я все равно этого не сделаю.
На мой взгляд, ни узлы, ни redis не должны быть подвержены конечным пользователям. Только основной маршрутизатор (поддерживаемый чем-то вроде nginx) должен быть доступен из-за пределов VPN. –
согласился, я просто не упоминал об этом из-за контекста. вышеупомянутое - это меньшее из двух зол. – bitoiu
Я не могу комментировать, потому что у меня пока нет достаточно высокой репутации, но очень мало увеличивается скорость вырезания «сетевого узкого места» redis настолько быстро, что латентность пренебрежимо мала. Проблема с этим подходом заключается в том, что если ваш лоток сработает, все ваши данные, хранящиеся в redis, исчезнут, если вы не будете реплицироваться в подчиненный. Если это сходит на любой другой процесс, не на который machince будет недоступен, пока он не перезагрузится. Это может быть хорошо для промежуточного env, но я бы защитил его от производства.
- 1. Can Redis и ElasticSearch существуют на том же сервере
- 2. Как запустить приложение node.js, Java и PHP на том же сервере и том же порту
- 3. LAMP и nodejs на том же сервере
- 4. Как использовать Redis/Node.Js на производственном сервере
- 5. JAVA и PHP на том же сервере
- 6. Apache и GitLab на том же сервере
- 7. несколько самостоятельных webapi на том же сервере
- 8. Nginx: несколько местоположений на том же сервере
- 9. Выполнение API параллельно на том же сервере
- 10. Несколько приложений AngularJS на том же сервере
- 11. Проверьте восстановление MySQL на том же сервере
- 12. Репликация таблицы MySql на том же сервере
- 13. Несколько экземпляров ArangoDB на том же сервере
- 14. Несколько экземпляров memcache на том же сервере
- 15. Перезаписать таблицу SQL на том же сервере
- 16. Две установки Drupal на том же сервере
- 17. репликация docker mongodb на том же сервере
- 18. Запуск MariaDB & MySQL на том же сервере
- 19. xml кросс-порт на том же сервере?
- 20. Несколько продуктов celerycam на том же сервере
- 21. Jenkins plus Git на том же сервере
- 22. file_get_contents URL-адрес на том же сервере
- 23. Node.js и Redis Auth
- 24. Node.js и Redis
- 25. Запустите node.js & WebAPI на том же сервере для того же сайта с IIS
- 26. Realtime: Node.js, MongoDB и Redis?
- 27. Node.js - Использование Socket.io и Express на том же порту
- 28. html и node.js скрипт на том же экземпляре heroku
- 29. Запуск django и flask на том же сервере apache
- 30. Ubuntu Mysql версии 4.1.22 и 5.6 на том же сервере
'node.js' нуждается в процессоре, в то время как redis нуждается в ОЗУ. Так что это не такая уж плохая идея. –