我同意你的设计。你有一个特定的API,旨在为特定的端点提供服务。这样,你可以分离你的关注点,因为你可以添加与API本身无关但与FE相关的BE内容。 此外,许多API正在使用凭据和密钥,因此你可以实现类似的功能。
你对架构的考虑方案看起来很不错。
在前端和API之间实现后端的最大优势是可以提供良好的关注点分离。通常情况下,我周围的前端工程师每次需要新的端点时都会向API工程师询问。这看起来只是合作,但有时会过度。这种对话有可能导致在API中创建太多本不应该存在的端点。我不确定你们公司的API团队的架构政策是什么,但是仅仅为了让API变得更大而允许它增长并不好。现在API拥有的功能越多,它就越容易变得糟糕。
在你的计划中,你正在尝试实现后端以访问API供前端使用。这类似于Sam Newman描述的BFF(面向前端的后端)架构(http://samnewman.io/patterns/architectural/bff/)。通过这个概念,你可以将后端实现为一种网关,处理前端特定的API请求。如果需要,后端甚至可以缓冲前端变化对API的潜在影响。所有东西都可以保持良好的分离。
在BFF中,我认为后端不扮演提供与应用相关的功能(如授权、缓存和数据适配操作)的角色,但这取决于你。你可以实现新的API来处理这些功能,并让后端只作为将它们绑定在一起的网关。只要后端不太臃肿,将这些功能放入后端也是可行的。