Sta*_*wed 5 redis node.js socket.io
我们正在使用云托管(Linode)托管基于Redis作为主要数据库的基于node.js(和socket.io)的聊天应用程序。我们尚未启动,但我们正在考虑在同一台机器上托管redis和node.js(8 GB实例,例如Redis限制为5 GB)。所有通信都将以redis进行(即,从客户端到redis,在node.js中没有用于对话框的变量)。为了避免网络传输时间困扰其他瓶颈,我们正在考虑在同一服务器上托管redis和node.js。我在文档中找不到任何说明这是个坏主意的东西,但是我们的sysops家伙并不确信。走这条路线有什么弊端吗?
参考我在SO上发布的类似问题上的一个非常相似的答案:Redis部署配置-主从复制上发布的类似问题的非常相似的答案,其中 OP 遇到了类似的问题,但他的担忧与性能更相关。
我对您的解决方案的主要问题(另一个答案的简单旁注)是一个简单的事实,即您的node.js应用程序在设计上必须面向云,例如互联网,而您的Redis或其他数据库则不应。
这并不意味着您一定会遇到安全问题,但在我看来,最佳实践是仅公开您真正需要的主机,例如通常直接向用户提供内容的主机。
如果不将 Redis 部署到面向互联网的主机,您只需通过网络的拓扑设计即可实施许多安全约束。
是否可以将这些服务托管在同一个框中:
是的,请时不时地运行基准测试来检查是否需要水平扩展或只是增加被淹没的主机。
使用 Redis 或其他面向互联网的服务会遇到安全问题吗?
如果您知道自己在做什么 - 不,您不会遇到安全问题。但我还是不会这么做。
| 归档时间: | 
 | 
| 查看次数: | 1257 次 | 
| 最近记录: |