【发布时间】:2015-02-08 16:05:38
【问题描述】:
我在应用程序中有以下主要组件:
- 网站和客户面板
- 控制面板(仪表板)
- 后台服务(计费任务和消息传递)
- API
我的问题是如何在应用程序结构中分离这些组件,以便它可以随着流量的增加而扩展,而且在初始部署后还可以维护和易于继续开发?
目前我正在尝试使其成为单个应用程序,并在运行时根据启动配置和按路径和域进行路由的单独逻辑。
我认为另一种选择是为每个组件创建单独的应用程序,但要维护四个应用程序而不是一个,具有配置、版本、可共享源(模型等),并且继续开发将是一个地狱。
另一个问题是像 facebook 这样的大型服务如何设计他们的服务仪表板、控制面板或应用程序的管理部分。
应用程序在 RoR 上,但问题不依赖于语言和框架。
我知道这个主题非常大,但任何帮助都非常感谢,至少 - 也许是一些关于我从哪里开始阅读的参考)
【问题讨论】:
-
这真的取决于你使用什么框架和语言。尝试寻找“单一责任”。这是一个设计原则,基本上说“类应该只负责一件事”。因此,例如,控制器只负责返回视图,而不是处理表单中的 postdata。那是另一个班级的责任。每种语言/框架都有很多实现。
-
@Nick 我认为你的观点很好。是的,每种语言都有不同的实现方式。但是,OP 似乎提出了更高级别的问题。