如何提高 API 的性能?
我向 121 位软件开发人员询问了这个问题,结果列出了 5 种方法。
“如何提高 API 的性能?”
[1] 缓存
缓存的想法很简单。
将经常访问的数据存储在缓存中,以便在需要时可以更快地访问。
如果发生缓存未命中,则从数据库获取数据。
它实际上非常有效,但缓存失效和决定缓存策略可能具有挑战性。
[2] 使用负载平衡进行横向扩展
如果一个服务器实例不够用,您可以考虑将 API 扩展为多个实例。
那么问题出在哪里?
您需要找到一种方法来在这多个实例之间分配请求。
输入负载均衡器。
它不仅有助于提高性能,而且还使您的应用程序更加可靠。
但是,当您的应用程序无状态且易于水平扩展时,负载平衡器效果最佳。
[3] 异步处理
有时,你无法同时解决多个问题。
最好的办法是将它们停放起来以备后用。
通过异步处理,您可以让客户端知道他们的请求已注册并正在处理中。
然后,您逐一处理请求,并将结果传达给客户端。
这使得您的应用程序服务器可以稍事休息并发挥最佳性能。
但当然,异步处理可能并不适用于所有需求。
[4] 分页
如果您的 API 返回大量记录,则需要探索分页。
基本上,您限制每个请求的记录数。
这可以提高 API 对消费者的响应时间。
[5] 连接池
API 经常需要连接数据库来获取一些数据。
为每个请求创建新的连接可能会降低性能。
使用连接池来设置可以在请求之间重复使用的数据库连接池是一个好主意。
这是一个微妙的方面,但在高度并发的系统中,连接池会对性能产生巨大影响。
那么,您认为提高 API 性能的首要方法是什么呢?
“如何提高 API 的性能?”
[1] 缓存
缓存的想法很简单。
将经常访问的数据存储在缓存中,以便在需要时可以更快地访问。
如果发生缓存未命中,则从数据库获取数据。
它实际上非常有效,但缓存失效和决定缓存策略可能具有挑战性。
[2] 使用负载平衡进行横向扩展
如果一个服务器实例不够用,您可以考虑将 API 扩展为多个实例。
那么问题出在哪里?
您需要找到一种方法来在这多个实例之间分配请求。
输入负载均衡器。
它不仅有助于提高性能,而且还使您的应用程序更加可靠。
但是,当您的应用程序无状态且易于水平扩展时,负载平衡器效果最佳。
[3] 异步处理
有时,你无法同时解决多个问题。
最好的办法是将它们停放起来以备后用。
通过异步处理,您可以让客户端知道他们的请求已注册并正在处理中。
然后,您逐一处理请求,并将结果传达给客户端。
这使得您的应用程序服务器可以稍事休息并发挥最佳性能。
但当然,异步处理可能并不适用于所有需求。
[4] 分页
如果您的 API 返回大量记录,则需要探索分页。
基本上,您限制每个请求的记录数。
这可以提高 API 对消费者的响应时间。
[5] 连接池
API 经常需要连接数据库来获取一些数据。
为每个请求创建新的连接可能会降低性能。
使用连接池来设置可以在请求之间重复使用的数据库连接池是一个好主意。
这是一个微妙的方面,但在高度并发的系统中,连接池会对性能产生巨大影响。
那么,您认为提高 API 性能的首要方法是什么呢?
全部评论
相关推荐
小破站_程序员YT:这事既然干都干了,完全可以大胆一点。让赔偿金是你试用薪资覆盖不了的地步。
点赞 评论 收藏
分享
有礼貌的干饭人G了:校友直接投就好了,我简历上项目就只有一个原封不动的外卖也进了一家不错的独角兽
点赞 评论 收藏
分享
05-21 00:25
电子科技大学 后端 lllllkin:感觉可以精简到一页简历,有些排版感觉不是必须的。
时间线越早的,你自己越熟悉的放前面。描述可以更精简些,一些问题解决感觉可以不用写具体技术栈,卖个关子,等面试官问。
点赞 评论 收藏
分享