我刚刚进入一个新项目,它结合了许多用不同语言编写的组件(Python,Ruby,Java和Perl)。该项目是一种处理文档的管道,可以作为命令行shell脚本运行。管道/ shell脚本将内容从工具传递到另一个,然后最终将输出打印到文件中。在此过程中,一些工具会打印文件,然后这些文件将用作其他工具的输入。
我在这个项目中的工作是把它带到网上。所以我的问题是在这样一个项目中应该遵循的正确/最佳实践方式/架构是什么,其中有许多组件用不同语言编写? 并且Node.js是可以组合组件的最佳工具/语言,因为 LinkedIn 说:“If you look at Node, the thing it’s best at doing is talking to other services.”
答案 0 :(得分:3)
我认为正确的答案可能会填满书籍......
那就是说,我建议通过实施某种服务总线来避免那些不知所措的小模块与谁知道谁在说话。如果能够做到这一点,那么所有语言/子项目都必须只与总线兼容,而不是与其他所有语言/子项目兼容。这样,复杂性将从N阶乘降至2xN。
答案 1 :(得分:1)
你最应该警惕的一件事是安全。如果您要通过Web公开某些脚本,特别是如果需要用户输入,则需要彻底验证。
这可能是最重要的一件事。框架或体系结构的选择将是次要的安全性。