Web应用程序体系结构:1或n API
背景: 我正在考虑web应用程序组织。我将分离前端(浏览器网站)和后端(API):2个应用程序,2个存储库,2个托管。Front将为几乎所有内容调用API 所以,如果我有两个单独的域服务和我的API(例如:学习上下文和预订上下文),它们之间没有直接链接,我应该构建两个API(具有两个存储库、两个构建过程等)?为Web应用程序体系结构:1或n API,api,web,architecture,Api,Web,Architecture,背景: 我正在考虑web应用程序组织。我将分离前端(浏览器网站)和后端(API):2个应用程序,2个存储库,2个托管。Front将为几乎所有内容调用API 所以,如果我有两个单独的域服务和我的API(例如:学习上下文和预订上下文),它们之间没有直接链接,我应该构建两个API(具有两个存储库、两个构建过程等)?为n需求构建nAPI是一种好做法还是一个“大”API?我说的是trafic的一个重要web应用程序 (我希望这个问题不会因为没有建设性而结束……我认为这是一个具体案例的真正问题,如果没有的话
n
需求构建n
API是一种好做法还是一个“大”API?我说的是trafic的一个重要web应用程序
(我希望这个问题不会因为没有建设性而结束……我认为这是一个具体案例的真正问题,如果没有的话,很抱歉。还有一些关于架构的问题没有结束,所以我还有希望)这一切都取决于您正在开发的应用程序、其业务需求、您的优先级等等。通常,您有几种选择:
- 只使用一个单片应用程序
- 只使用一个单一的应用程序,但在不同的模块/捆绑包/库之间解耦域模型
- 创建分布式体系结构(如面向服务的体系结构(SOA)或事件驱动的体系结构(EDA))
正如我在开头所写的,您选择的方式取决于应用程序及其需求。无论如何,回到您最初的问题,我的建议是尽可能地保持API的独立性。即使您有一个单片应用程序,您也应该能够分别对API进行版本设置,并保持其域逻辑的独立性。分离存储库和/或流程取决于您选择的方法(例如,在我前面提到的方法中) 如果我没有领会你的观点,请更详细地描述你期望得到的答案
最好的 谢谢你的回答!我为“独立域模型/服务”写了“操作类型”,你说得对(我将编辑我的问题)。这正是我想要的。我想我会选择第三个选项(我希望我可以分离部署过程),并非常小心组件的通信。