是否值得使用两个单独的 API 服务器进行身份验证和其他常规操作?

Is it worth to use two separate API servers for authentication and other general stuffs?

我是后端开发的新手,正在从事一个拥有庞大用户群的项目(与 Uber Eats 非常相似)。我们的团队应该同时开发 Web 应用程序和移动应用程序(针对 Android 和 IOS)。由于时间和预算的限制,我们决定先实施 PWA,然后考虑到客户满意度,我们还计划实施本机移动应用程序。

我想知道,在为这种应用系统创建后端时,是否值得分别实现两个 API 服务器用于身份验证和其他一般 API 调用,是否值得与将两者都放在一个 API 服务器中相比,性能有相当大的提高?实施两个原生移动应用程序后是否会发生变化?

在这种情况下,性能不会有显着提高,而使用两个 API 会使架构过于复杂,您应该始终以更简单的系统架构为目标。

与单个 API 相比,使用托管在同一 VPS 上的多个 API 会降低性能。使用多个 API 将需要您 运行 多个进程,最终会降低性能。

如果水平缩放,您可能需要多个 API,但在这种情况下,您只是将其托管在一个 VPS 上,考虑到水平缩放的情况,您也会而是使用像 nginx 这样的负载均衡器将流量分配到多个服务器上。

YouTube、Google 和 GitHub 等大公司对所有内容都使用一个 API - GET 请求、POST 请求、身份验证等

如果您想对每个服务以不同的方式应用优化,建议对不同的服务使用多个 API。 WhatsApp 是一家使用多个 API 来提供不同服务的科技巨头;它使用不同的 APIs 作为其文本消息和媒体消息流。 WhatsApp 使用这种设计模式是因为它的文本消息在存储上下文中非常小,而媒体通常需要更多存储空间。

WhatsApp 必须对它们应用不同的优化,还必须设置优先级。您可能会问:“这也可以使用不同的端点来完成”,是的,可以,但是有很多理由这样做。

总而言之,使用多个 API 并不是很好的做法,除非您想在网络级别限制应用中的某些服务。我希望我回答了你的问题!