【问题标题】:Redis deployment configuration - master slave replicationRedis部署配置——主从复制
【发布时间】:2015-03-19 19:54:54
【问题描述】:

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

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

我还有哪些其他选择?

【问题讨论】:

    标签: node.js caching redis replication high-availability


    【解决方案1】:

    你可以。

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

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

    在运行的 redis 服务器上输入:

    redis-benchmark -q -n 100000

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

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

    作为旁注,请考虑不与对您的应用程序执行内部功能的服务共享您向 Internet 公开的服务的主机。

    【讨论】:

    • 这些服务是内部团队使用的,所以我认为安全风险是最低的。
    • 好的,风险最小,你是对的。通常我们信任内部用户。问题是他们是否想在访问 redis 时发挥创造力:)
    猜你喜欢
    • 2021-12-22
    • 2018-05-26
    • 2015-06-14
    • 2020-06-14
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 2015-09-20
    • 2016-03-20
    相关资源
    最近更新 更多