为了账号安全,请及时绑定邮箱和手机立即绑定

如何处理高并发的RESTful接口

如何处理高并发的RESTful接口

一只斗牛犬 2019-03-21 18:14:05
现在有一个系统,他有两个接口并发量特别高,或者说比其他接口高出几个档次。那么如何针对这两个接口进行处理?目前我有几点疑惑。1、不少高并发网站在指出将模块服务化,这样可以对各个模块进行负载均衡,按需分配,那么他其实是代码层级上就是分开编写的还是只是部署在不同的机器上用nginx转发实现模块化?2、如果代码不是分开编写的,像这种个别接口访问量高的应该怎么处理。3、就算是分开编写,每个服务已经自成一个系统,那么如何处理该系统中极个别接口访问量特别高的情况?现在想到的方法是:使用nginx负载均衡,针对这两个接口给予专门的服务器集群做处理(代码还是那一套)。我不知道这样做是不是正确的?因为我为了这两个接口部署了整个系统,我感觉是有问题的。请各位大牛指点迷津,或提供一些参考资料。
查看完整描述

1 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

你先看看是否有重复的请求,如果有大量的重复请求的话,并且你的接口返回的响应是幂等的,那你可以在用缓存来挡掉大部分重复请求。
之后再考虑把两个接口单独部署看看单机是否可以支持,如果单机不行,那只能把接口变成集群的,前面用nginx来做负载均衡,可以用ip hash或者round robin。
还可以前面加队列来限制请求,这个就依赖你的业务需要,比如有些业务同时只能接受100个请求,那同时处理1000个请求也是没任何意义的。
最终的方案还是依赖你的业务需要的决定的。

查看完整回答
反对 回复 2019-04-18
  • 1 回答
  • 0 关注
  • 1121 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号