我的典型需求是我想要在云上与 SQL Server、MongoDb 和 redis 交互的 NodeJS 应用程序。
由于此应用程序将使用旧数据库,因此我无法替换 SQL Server。
NodeJS + MongoDB + Redis 在 Heroku 上得到了很好的支持。
NodeJS + MongoDB + SQL Server 在 Azure 上得到了很好的支持。(有 Redis 支持,但通过 vm)
一起使用所有组件的建议是什么?
就您而言,这基本上取决于您是否需要 Redis。虽然可以让 Redis 在 Windows 上运行,或者 - 正如您所提到的 - 通过 VM(我假设可能在同一系统上运行?)。不支持在 Windows 上本地运行它,并且通过一些实验判断,我也不推荐将它用于生产用途。
如果您只是将 Redis 用作会话存储,则不妨将这部分放在 MongoDB 上,从而使用 Azure-Solution。如果你需要 Redis 来做其他事情,你可能会遇到像我这样的场景:
我们在 Linux 上运行 Node.JS+REDIS+MongoDB,而 MSSQL 在单独的 Windows 机器上运行。从 Node.JS 到 MSSQL 的连接是通过 ODBC/FreeTDS 完成的,它可以很好地满足我的要求(实际上所有其他解决方案都不能很好地工作)。
我们这样做的原因很简单,一旦转换完全完成,我们将在某一时刻从设置中删除 SQL-Server。