目前我有两台服务器,我已经部署了基于node.js / Express.JS的Web服务API。我正在使用Redis来缓存JSON字符串。
将此设置部署到生产中的最佳选择是什么?我看到here建议使用专用服务器redis。好。我接受它并使用专用服务器来运行redis master。我可以将现有应用服务器用作从属节点吗?注意:这些应用服务器正在运行Node / Express应用程序。
我还有其他选择吗?
答案 0 :(得分:1)
你可以。
这一切都取决于其他服务器的负载,这是资源共享的问题。老实说,我的架构的主要问题不是专用服务器和非专用服务器,而是您将Redis服务器(主服务器或非主服务器)放置在最有可能面向互联网的主机上(expressJS应用程序) ,意思是,它很暴露。
如果您可以模拟Node / Express JS服务器的HTTP负载,请查看在专用服务器上运行某些benchmark tests与非专用服务器之间的差异:
在正在运行的redis服务器上输入:
redis-benchmark -q -n 100000
如果应用服务器受到重创并频繁使用所有内核,您应该会看到基准测试中存在重大差异。
我的建议是,继续进行第一次设置,并为redis响应时间添加监控,并且只在必要时才采取行动,如果基准测试显示效果非常差,现在可能会采取行动。
作为旁注,请考虑不使用为您的应用程序执行内部功能的服务与您公开的服务共享主机的选项。