如何正确设计应用程序结构和分离应用程序组件?

时间:2014-12-10 12:47:10

标签: architecture scalability

我在应用程序中有以下主要组件:

  • 网站和客户面板
  • 控制面板(仪表板)
  • 后台服务(结算任务和消息传递)
  • API

我的问题是如何在应用程序结构中分离这些组件,因此它会随着流量的增加而扩展,但在初始部署后也可以维护并且易于继续开发?

目前我正在尝试将其作为单个应用程序,并在运行时根据启动配置和路径和域路由分离逻辑。

我认为另一种选择是为每个组件单独申请,但是维护四个应用程序而不是一个,配置,版本,可共享源(模型等),以及持续开发将是一个地狱。

另一个问题是facebook等大型服务如何设计服务仪表板,控制面板或应用程序的管理部分。

应用程序在RoR上,但问题不依赖于语言和框架。

我知道这个主题非常大,但至少有任何帮助,至少 - 可能有些参考我开始阅读的地方)

1 个答案:

答案 0 :(得分:0)

而不是4个不同的应用程序,这听起来像是由明确定义的接口分隔的多个模块,即使在运行时也可以互换。

然后,每个这样的分离部分成为模块化体系结构的一个元素。每个部分都应该是隔离的,并且应该导出和导入定义良好的接口。

从这里https://netbeans.org/project_downloads/usersguide/rcp-book-ch2.pdf

有点老但仍然相关。