高并发的程序设计-系统设计层面

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等相关工具高并发压测,在百万级高并发压测的情况下,从架构分层角度做优化,哪一层性能有问题,就尽量调优哪一层的性能,整体性能尽可能非常好。

参考资料和推荐阅读

  1. https://blog.csdn.net/weixin_46048259/article/details/128491043
    2.https://blog.csdn.net/u011277123/article/details/122301282

欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~

猜你喜欢

转载自blog.csdn.net/xiamaocheng/article/details/130307668