Redis部署配置-主从复制

Redis deployment configuration - master slave replication

目前我有两台服务器部署了 node.js/Express.JS 基于 web 服务 API。我正在使用 Redis 缓存 JSON 字符串。

将此设置部署到生产中的最佳选择是什么?我看到 here 它建议使用专用服务器 redis。好的。我接受它并为 运行 redis master 使用专用服务器。我可以使用现有的应用服务器作为从节点吗?注意:这些应用程序服务器是 运行 一个 Node/Express 应用程序。

我还有哪些其他选择?

可以。

这完全取决于其他服务器的负载,这是资源共享的问题。老实说,我对您的体系结构的主要问题不是专用服务器与非专用服务器,而是您将 Redis 服务器(主服务器或非主服务器)放置在最有可能面向互联网的主机上(expressJS 应用程序) , 意思是, 相当暴露.

如果您可以模拟 HTTP 加载到您的 Node/Express JS 服务器,请查看 运行 一些 benchmark tests 专用服务器与非专用服务器之间的区别:

在 运行 redis 服务器上输入:

redis-benchmark -q -n 100000

如果应用服务器受到重创并频繁使用所有内核,您应该会在基准测试中看到显着差异。

我的建议是,继续你的第一个设置并添加对 redis 响应时间的监控,并且只在你必须的时候才采取行动,如果基准测试显示非常糟糕的结果,现在就可以采取行动。

作为旁注,请考虑选择不共享您暴露于 Internet 的服务的主机以及对您的应用程序执行内部功能的服务。