Node.js 保留环回3的缺点是什么
我们有一个相当大的环回3服务器,现在已经到了2020年“生命终结” 我知道尽快迁移到Loopback 4的建议,但我对进行迁移犹豫不决-LB4上没有(尚未)LB3的大部分功能,LB4模型关系是LB3的一个子集,仅涉及大量工作。我也知道(并且已经测试过)将LB3应用嵌入到LB4应用中 实际上,在可预见的未来,继续使用LB3的实际缺点是什么?我知道我将失去未来的补丁和修复,例如安全更新,我想LB3将有nodejs版本的封顶(v10?)。但例如,npm模块是否会变得不可用,或者服务器是否会有一天“停止启动”?还有什么要考虑的吗? (如果这有管理压力的味道-你是对的)缺点 有两个主要缺点: 缺乏社区支持 由于LoopBack 3是核心维护者的寿命终止d(EoL),社区的利益也将发生变化。部分社区可能会选择使用其他替代方案,而其他社区可能会迁移环回4 文件和回购协议都不会有任何进展,但如果你在某个特定问题上遇到困难,你可能得不到社区援助 随着时间的推移,环回4将继续改进,迁移指南将与之一起迭代。因此,准备好后,您将有同样的机会迁移到环回4 安全 任何安全补丁,包括上游依赖的补丁,都不会被应用。这使得很难确保软件安全,因为环回3将不再受益于半自动的依赖项更新 若上游依赖安全补丁很重要(它们应该很重要),建议维护一个分支包 该流将如下所示:Node.js 保留环回3的缺点是什么,node.js,frameworks,loopbackjs,loopback4,Node.js,Frameworks,Loopbackjs,Loopback4,我们有一个相当大的环回3服务器,现在已经到了2020年“生命终结” 我知道尽快迁移到Loopback 4的建议,但我对进行迁移犹豫不决-LB4上没有(尚未)LB3的大部分功能,LB4模型关系是LB3的一个子集,仅涉及大量工作。我也知道(并且已经测试过)将LB3应用嵌入到LB4应用中 实际上,在可预见的未来,继续使用LB3的实际缺点是什么?我知道我将失去未来的补丁和修复,例如安全更新,我想LB3将有nodejs版本的封顶(v10?)。但例如,npm模块是否会变得不可用,或者服务器是否会有一天“停止
包裹会停止工作吗? 很可能不是。除了任何未解决的bug之外,没有理由让包“崩溃” 作为保证,除非在极端情况下,否则NPM不允许取消发布软件包,并且
软件包锁定.json
与NPM ci
将确保大部分可复制的安装
但是,包锁仅适用于直接依赖项。因此,如果任何上游依赖项应用了向后不兼容的更改,而没有semver major,则包可能会意外中断
这可以通过使用NPM Shrinkwraps来缓解,它将拍摄整个依赖关系树的快照
Node.js版本是否会限制在10.x?
对。这不是一个硬性要求,但是不建议冒险进行隐藏的破坏性更改
环回3是一个覆盖良好的应用程序(在测试方面)。因此,测试套件可用于测量和检测Node.js更新之间的任何潜在不兼容性
管理呢?
如果您能够维护loopback3包的分支,运行测试套件,并通过CI/CD管道更新依赖项和Node.js LTS版本,那么它应该是相当安全的
环回3是一个相当成熟的项目。因此,可以假设发现了大多数关键缺陷。LTS维护期旨在检测此类缺陷,而无需添加任何可能导致回归或新关键缺陷的新功能尽管如此,在EOL后仍然可以检测到新的关键缺陷。
您必须自己权衡利弊。记住所有这些,它的安全程度取决于环回3上运行的服务类型、业务需求以及您愿意承担的风险
安全的软件开发生命周期非常重要,构建产品和服务时应牢记这一点,以防止或缓解这些问题
何时迁移到环回4
我现在就开始计划迁移。由于LoopBack 4是一个完全重写的元框架,以迎合Node.js中流行的TypeScript和OOP,因此迁移需要一些努力
如果在环回4中需要某些功能,那么这个响应需要很多TX。我想我们对是否支持LB4犹豫不决。我们仍然在忙着将遗留的AngularJS“升级”到Angular8/9,这更像是一次完全的重写。我们需要的东西可以存在很多年-升级可以接受-但不能重写。。。