Tre*_*rey 6 node.js socket.io sails.js
我有一个遗留的Sails.JS项目,目前在Sails版本0.10.5上.我想将项目升级到Sails 0.11.x及以后,但有一个问题.该项目充当本机移动应用程序的后端,因此与升级Web服务器不同,您可以将新的sails.io.js和socket.io客户端库链接到您的网站,我们不能依赖用户升级本机应用程序.
我是唯一一个面对这个问题的人,这似乎是不合理的,所以我想向社区提出一个问题,看看是否有任何我没有想到的辉煌让升级无缝进行.
我想到的想法是:
使用子域运行两个版本的应用程序(https://v2.domain.com/api/ ..).这显然是最明显的解决方案,但需要相当数量的服务器配置才能实现,我们目前正在运行的PAAS上定制环境的能力有限,因此这可能需要切换提供商.
除了参与这条路线所涉及的工作之外,还有决定如何处理代码库.您可以为两个风帆版本维护代码的两个分支,但这意味着修复错误两次和两次错误的可能性.或者您可以在代码中添加条款以检查它正在运行的风帆版本.这些看起来都不是很干净,但我认为如果归结为这两个选项我会选择其中的第二个.
挖掘sails.js核心代码,找到一种方法让socket.io 0.9和socket.io 1.0同时并行运行.这将允许我让所有用户在关闭0.9支持之前更新他们的移动应用程序.这也有明显的陷阱,但主要是在框架层面上进行如此全面的变革.
我希望能够深入了解其他人在这种情况下所做的事情,如果解决方案只是保留在Sails 0.10.5那么这很好,但是我希望得到原生Socket.IO库的额外好处.出现在v.1.0而不是我目前正在使用的半家庭旋转解决方案.此外,继续获得安全性和功能更新将会很高兴.
解决这个问题的唯一可靠的解决方案是设置一个 nginx 反向代理,以当前服务器为基础,然后在创建的每个路径之前设置另一个带有 /v2 路径前缀的服务器,然后将用户迁移到 /v2 路径如果可以的话,我建议对两台服务器使用相同的 git 存储库,但将它们维护在不同的分支上,以便您可以在需要时将新的更改合并到两台服务器上。
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |