gpt4 book ai didi

ruby-on-rails - 如何将 Rails 应用分解为不同的小应用生态系统

转载 作者:行者123 更新时间:2023-12-04 06:11:41 25 4
gpt4 key购买 nike

我的团队一直在一个单一的 Rails 应用程序中开发一堆模块供内部使用。例如,这些模块是请假请求、员工信息、任务/待办事项等。每个模块都有自己的用途,但以某种方式与员工资料和用户身份验证等公共(public)信息相关联。每个模块都分配了一个开发人员,他们将代码提交到同一个 Rails 应用程序。目前,维护代码和规模非常困难。现在,我正在研究将应用程序分解为小型分布式应用程序,并使它们成为一个生态系统。这是我正在寻找的概念:

  • 应该有一个主应用程序来维护其他客户端应用程序的 View 。更好的是,它充当其他客户端应用程序插入它的平台。员工登录到此主应用程序以访问客户端应用程序。
  • 主应用程序应使用 AJAX 或其他方式(未决定)呈现客户端应用程序的 View 。
  • 虽然,我想分解应用程序,但每个应用程序仍然应该能够从生态系统中的其他客户端应用程序查询资源/数据,例如员工文件。
  • 实际上,我还没有决定每个应用程序的交互。向我们思考 RESTful(未决定)。
  • 它应该支持每个开发人员可以独立开发每个应用程序的开发环境。因此,在自己的 git 存储库中维护自己的代码。这可能是首先分解应用程序的主要目的。

  • 我正在阅读使用 Ruby on Rails 的面向服务的设计一书,但似乎他们专注于将应用程序分解为不同的小型服务,而我想要拥有不同的小型应用程序。只是想知道是否还有其他方法可以做。

    对不起,问了一个很长的问题,问的太多了。只是想知道您是否也遇到过同样的情况,并可以指导我阅读一些文章、社区、书籍,以便我可以继续进行更多研究。

    最佳答案

    啊重构的乐趣。尝试将应用程序构造成逻辑组以使各个部分可以解耦,这可能是一件棘手的事情。

    我强烈建议调查 Engines , 与 Engines vs Mountable信息量很大。这允许您构建一个可以打包为 gem 的迷你 Rails 应用程序(又名引擎)。自定义引擎 gem 被捆绑到 Rails 应用程序中,提供一整套可配置的功能(模型、 Controller 、 View 等)。

    面向服务架构的有用性在很大程度上取决于您推送和拉取的数据类型。话虽这么说,Rails 真的是为 RESTful 连接的,所以你可以通过这条路线获得很多 yield 。

    关于ruby-on-rails - 如何将 Rails 应用分解为不同的小应用生态系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9892728/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com