首页 > 解决方案 > 带有后端 API 和新 B2B API 的 SPA - 如何部署

问题描述

我目前已经交付了一个带有 Java API 后端的 SPA (Vue.js) Web 应用程序。目前一切都在 AWS 中,前端位于 CloudFront 中,后端位于 ECS 中,连接到 RDS 实例。

作为下一阶段交付的一部分,我们正在创建 B2B API。我的问题是架构设计和部署策略,只是用 B2B 功能扩展现有 API 是否司空见惯?我应该将它们与前面的 API 网关分开吗?我们设想 B2B 使用最终将超过 SPA 用例,因此初始部署配置需要具有最大的增长和扩展灵活性。

这里有某种最佳实践吗?我想这两个后端之间的很多代码也是相似的。

谢谢,特里

标签: apideploymentarchitecturestrategy-patternb2b

解决方案


首先 - 确定服务边界是面向服务的架构设计中最困难的问题之一,答案很大程度上取决于您的确切领域需求。

通常我会按领域/功能以及组织关注点(例如开发它们的单独团队)而不是目标受众来拆分服务实现。这通常可以避免团队责任不明确的尴尬情况等。如果它会发展成一个非常大的项目,可能还需要多层服务和共享库 - 那时你可能会遇到必要的重新 -保理/重组。

因此,如果您的 b2b 和常规 api 之间的功能重叠很大,您可能不想拆分实现。

但是,您可能还必须考虑如何提供服务访问权限,并且 API 网关可以帮助为不同的受众、不同的收费模式、不同的身份验证选项等提供不同的端点。根据您的确切要求,API 网关可能不是足够了,这可能还需要另一个使用公共域服务的瘦服务层实现。


推荐阅读