目前我有两台服务器,我已经部署了基于node.js/Express.JS的Web服务API。我正在使用 Redis 来缓存 JSON 字符串。
将此设置部署到生产中的最佳选择是什么?我懂了here https://stackoverflow.com/questions/16199630/using-redis-as-intermediary-cache-for-rest-api建议使用专用服务器 redis。好的。我使用它并使用专用服务器来运行 redis master。我可以使用现有的应用服务器作为从节点吗?注意:这些应用程序服务器正在运行 Node/Express 应用程序。
我还有什么其他选择?
You can.
这完全取决于其他服务器的负载,这是资源共享的问题。说实话,我对你的架构的主要问题不是专用服务器与非专用服务器,而是你将 Redis 服务器(主服务器或非主服务器)放置在最有可能面向互联网的主机上(expressJS 应用程序) ,意思是,它相当暴露。
如果您可以模拟 HTTP 负载到您的 Node/Express JS 服务器中,请查看运行某些基准测试 http://redis.io/topics/benchmarks在您的专用服务器上与非专用服务器上:
在正在运行的 Redis 服务器上输入:
redis-benchmark -q -n 100000
如果应用程序服务器受到重击并频繁使用所有核心,您应该会看到基准测试中存在巨大差异。
我的建议是,继续进行第一个设置并添加对 Redis 响应时间的监控,并且仅在必要时才采取行动,如果基准测试显示结果非常差,则可能是现在。
作为旁注,请考虑选择不与对应用程序执行内部功能的服务共享向 Internet 公开的服务的主机。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)