高并发
什么是高并发?
高并发是指在短时间内有大量请求的情况。类似于高铁站检票口突然开始检票人群一拥而上的情况。这种情况对于检票人员来说无疑会产生一种很大的压力。同样,高并发的场景是分布式架构系统涉及必然要考虑到的一种情况。该情况的发生会导致系统在短时间内执行大量操作,对于资源的请求,以及数据库都是一种很大的压力。
高并发处理指标
1.响应时间:系统对请求做出响应的时间。例:上述检票口单人通过的时间
2.吞吐量:单位时间内处理的请求数量,例:单位时间可以通过多少人
3.QPS:每秒响应的请求数
4.并发用户数:某一时刻,同时像系统发出请求,例:检票口同事有两人一块挤着检票
高并发和多线程的关系
多线程是java的特性,时代的发展,之前的单核cpu已经渐变为现在的多核多线程cpu,所谓单核指在一个时间点只能执行一个单一的程序。而多核cpu指同一个时间节点可以有多个多个线程并行处理不同的请求。可以理解为多个单核cpu在执行该程序。因为多核cpu的出现,java就提供了这种多线程的机制,以提升系统处理数据的能力。
总结:多线程是处理高并发的一种方法,但是高并发和多线程是不等的。
高并发并不是java特性,而是针对某种现象提出的一个概念。详见标题什么是高并发
高并发解决方案
1.扩容
1.1提升单机能力(垂直扩展)
1.1.1提升单机硬件性能:增加cpu核数 (类似于高铁口检票,原来只能同时开俩检票口,通过施工队的施