高并发:一种系统运行过程中的一种“短时间内遇到大量操作请求”的情况,主要web系统集中大量访问收到大量请求,如12306抢票、双11等,
该情况的发生会导致系统在该段时间内执行大量操作,例如对资源的请求、数据库的操作等。
高并发处理指标:
- 响应时间:系统对请求做出相应的时间
- 吞吐量:单位时间内处理的请求数
- 每秒查询率QPS: 每秒相应请求数
- 并发用户数:同时承载正常使用系统功能的用户数量
高并发:-->秒杀系统等会导致在短时间内执行大量请求操作,若处理不好,不仅降低用户体验(请求响应时间过长),同时可能导致系统宕机
- 多线程:多线程可以理解为处理高并发的一种编程方法 --->为了提高jvm的执行效率,java提供了多线程机制提高数据处理效率
- 多线程并发技术:线程池、线程状态、线程间协作、悲观锁与乐观锁、共享数据访问的阻塞同步(synchronized与ReentrantLack)、非阻塞同步(CAS与原子数)
- 高并发技术方案:提高并发度
3.1 分布式缓存(redis、memcached等):结合CDN来解决图片文件等访问
3.2 消息队列:rabbitMQ、kaflka、activeMQ等,解决大量消息的异步处理
3.3 分库分表读写分离:解决大数据查询问题
3.4 数据库垂直拆分:
3.5 应用拆分:一个工程被拆