Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript API、后端和前端作为所有三个独立的组件_Javascript_Api_Http_Frontend_Backend - Fatal编程技术网

Javascript API、后端和前端作为所有三个独立的组件

Javascript API、后端和前端作为所有三个独立的组件,javascript,api,http,frontend,backend,Javascript,Api,Http,Frontend,Backend,我试图在网上找到一些东西,但找不到类似的东西。所以我在这里问: 情况:我有一个大的API,它可以进行一些繁重的计算,并具有很多功能。有些客户机使用此API,并在其软件中实现了此API。现在,我想为该API编写一些前端,以便一些用户可以更轻松地管理其工作流 经过深思熟虑的解决方案:我正在考虑制作一个单独的后端应用程序,该应用程序将使用API并为前端服务(请参阅所附图片)。后端将执行授权/缓存/数据调整操作 问题:但我从未用三层API-BE-FE设计过这样的应用程序。这样做值得吗?有什么明显的缺点

我试图在网上找到一些东西,但找不到类似的东西。所以我在这里问:

情况:我有一个大的API,它可以进行一些繁重的计算,并具有很多功能。有些客户机使用此API,并在其软件中实现了此API。现在,我想为该API编写一些前端,以便一些用户可以更轻松地管理其工作流

经过深思熟虑的解决方案:我正在考虑制作一个单独的后端应用程序,该应用程序将使用API并为前端服务(请参阅所附图片)。后端将执行授权/缓存/数据调整操作


问题:但我从未用三层API-BE-FE设计过这样的应用程序。这样做值得吗?有什么明显的缺点吗?将oauth授权放在后端而不是api本身是否安全?你对它有什么想法?

我同意你的设计。您有一个特定的API,用于服务特定的端点。通过这种方式,您可以分离您的关注点,因为您可以将与API本身无关但与FE相关的内容添加到您的应用程序中。
此外,许多API都使用凭据和密钥,因此您可以实现类似的功能。

您考虑的体系结构解决方案看起来不错

在前端和API之间实现后端的最大优点是,它可以提供良好的关注点分离。在我身边经常发生这样的事情,前端工程师每次需要新的端点时都会询问API工程师。这看起来只是合作,但有时做得太多了。这种对话有可能导致在API中创建太多本不应该有的端点。我不确定贵公司API团队的架构政策是什么,但仅仅允许API在前端发展壮大是不好的。API现在拥有的功能越多,就越容易变得糟糕

在您的计划中,您正试图实现后端以访问前端的API。它类似于Sam Newman()描述的BFF(后端对前端)的体系结构。有了这个概念,您可以将后端实现为一种网关,处理前端特定于API的请求。如果需要,后端甚至可以缓冲前端更改对API造成的潜在影响。一切都可以很好地分开

在BFF中,我不认为后端在提供与应用程序相关的功能(如授权、缓存和数据适配操作)方面发挥作用,但这取决于您。您可以实现新的API来处理这些功能,并让后端成为连接这些功能的网关。只要不是太胖,把这些东西放到后端也可以

缺点? 我想,可能的缺点是可维护性。这完全取决于您所使用的基础架构团队或成员,但在生产环境中,API和后端将在每个不同的服务器或堆栈上运行,因此您可能需要注意在应用程序的大量流量下扩展它们之间的一致性。然而,这种独立性也有利于监控硬件资源。你最好找个合适的地方