为社交应用程序构建强大 API 的正确方法


A proper way to build a robust API for the social application?

有一个现有的社交网络应用程序,客户现在想为它制作移动应用程序。我们需要制作一个健壮的API,当10万现有用户开始使用这些移动应用程序时,它不会挂起。

您对构建此 API 的正确方法有什么建议吗?

我们过去制作了数百个API,其中也使用了10万用户。但是这个应用程序有点具体,我们预计会有更多的并发 API 请求,并发请求是过去的 20 倍。

这就是为什么在我看看这里是否有人可以建议一些好的策略之前,我不愿意使用我们的"标准"API 逻辑。

在高级别上,服务器上将有一个数据库和一个处理所有通信的API层。

简而言之:查看您的硬件解决方案。

尽可能减少 IO。如果可能,请将应用所需的尽可能多的包含资源打包到一个有效负载(服务器端)中,然后一次性将其推送到客户端。您真的不希望客户端包含数百个包含。

一个想法是监控有多少同时发生的请求,如果阈值太多(你可以做模拟游戏来找出痛苦的阈值是多少),开始缓冲队列中的请求,以确保每个用户都能获得流畅的体验。也许他们在开始时会等待更长的时间,但是一旦加载开始,它将是平滑的,而不是应用程序加载的部分。对于用户来说,最烦人的事情是不知道该事物是否已完成加载,或者将其加载到一半然后停止。

但最终,您需要查看硬件解决方案。如果是 IO 密集型的,请查看带有 SSD 驱动器的硬件 LB 和服务器的设置。