java面试题-解决高并发的思路?
2023-12-21 17:52:15
远离八股文,面试大白话,通俗且易懂
看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。
我做的项目说实话算不上高并发,高峰期的时候基本上也就1500/s。所以每次被问到也比较心虚,但还是总结出了一套相对固定的答法:
面试官:你对高并发项目有什么解决的思路或者方法?
回答:
? ? ? ?高并发是指同一时间段内,大量的请求同时到达的情况。既然谈到解决思路,那一般就是项目出现了问题或者瓶颈,比如系统反应慢、接口卡死、甚至项目停止运行等情况。
? ? ? ? 针对这些,我也做过一些总结,主要从以下几个方面去看:
????????
- 代码层面,要找出一些查询比较慢的业务逻辑或者sql进行优化。
- 合理利用缓存,对于一些读多写少的场景,缓存基本可以解决。
- 引入ES,一些复杂场景的查询,有时候redis+mysql并不能很好的处理,ES索引库算是一个很好的补充。
- 引入MQ,MQ的一大优点就是削峰,把请求放到队列里面慢慢处理
- 分库分表+读写分离,从数据库层面做到请求压力的分摊。
- 拆分微服务,从业务层面做到压力的分摊。根据业务来将系统拆分成不同的微服务,这样高并发的业务就不会对其他业务造成影响
- 扩容。这个说起来就是物理层面做到压力的分摊。多搞几台服务器来部署项目,然后通过nginx或者其他方式进行一个负载均衡。
1-4:代码层面
6-7:架构层面
文章来源:https://blog.csdn.net/qq_36178165/article/details/135126986
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!