高并发的程序设计-系统设计层面
- 目录
- 概述
- 需求:
- 设计思路
- 实现思路分析
- 1.主要指标
- 二、处理高并发的方案
- 参考资料和推荐阅读
Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.
目录
概述
高并发的程序设计:
需求:
3、如果没有合适的case,有个案例:百万数据秒级导出到excel文件实战,就从线程池、多线程、批量处理、mysql性能调优、数据库连接池调优、sql调优等多个层面去做了调优的。除此之外,还有MQ生产方秒杀千万QPS实战的案例,建议都可以参考的。
设计思路
实现思路分析
1.主要指标
这里我们可以使用规则的数据结构来存储和转发。
响应时间:系统对进来的请求反应的时间,比如你打开一个页面需要1秒,那么这1秒就是响应时间。
吞吐量:吞吐量是指每秒能处理多少请求数量,好比你吃饭,每秒能吃下多少颗米饭。
秒查询率:秒查询率是指每秒响应请求数,和吞吐量差不多。
并发用户数:同时承载正常使用系统功能的用户数量。
二、处理高并发的方案
1:系统拆分
2:redis缓存
3:MQ(消息队列)
该用mysql还得用mysql,用MQ,大量的写请求灌入MQ里,排队慢慢玩儿,后边系统消费后慢慢写,控制在mysql承载范围之内。
4.读写分离
可能到了最后数据库层面还是免不了抗高并发的要求,那么就将一个数据库拆分为多个库,多个库来抗更高的并发;然后将一个表拆分为多个表,每个表的数据量保持少一点,提高sql跑的性能。
你们系统峰值QPS、TPS是1万,那么你可以以100倍进行压测,100倍那就是百万级别了。最好写多线程程序进行压测,也可以用jmeter、loadrunnner等相关工具高并发压测,在百万级高并发压测的情况下,从架构分层角度做优化,哪一层性能有问题,就尽量调优哪一层的性能,整体性能尽可能非常好。
参考资料和推荐阅读
- https://blog.csdn.net/weixin_46048259/article/details/128491043
2.https://blog.csdn.net/u011277123/article/details/122301282
欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~