博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高并发详解
阅读量:7238 次
发布时间:2019-06-29

本文共 973 字,大约阅读时间需要 3 分钟。

1.高并发:是一种系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况,主要发生在web系统集中大量访问或者socket端口集中性收到大量请求(例如:12306的抢票情况;天猫双十一活动)。该情况的发生会导致系统在这段时间内执行大量操作,例如对资源的请求,数据库的操作等。如果高并发处理不好,不仅仅降低了用户的体验度(请求响应时间过长),同时可能导致系统宕机,严重的甚至导致OOM异常,系统停止工作等。如果要想系统能够适应高并发状态,则需要从各个方面进行系统优化,包括,硬件、网络、系统架构、开发语言的选取、数据结构的运用、算法优化、数据库优化、多线程设计……

2.实现高并发需要考虑:

                系统的架构设计,如何在架构层面减少不必要的处理(网络请求,数据库操作等)
                网络拓扑优化减少网络请求时间、如何设计拓扑结构,分布式如何实现?
                系统代码级别的代码优化,使用什么设计模式来进行工作?哪些类需要使用单例,哪些需要尽量减少new操作?
                提高代码层面的运行效率、如何选取合适的数据结构进行数据存取?如何设计合适的算法
                任务执行方式级别的同异步操作,在哪里使用同步,哪里使用异步?
                JVM调优,是以server模式还是以clien模式运行,如何设置Heap、Stack、Eden的大小,如何选择GC策略,控制Full GC的频率?
                数据库优化减少查询修改时间。数据库的选取数据库引擎的选取数据库表结构的设计数据库索引触发器等设计?是否使用读写分离?还是需要考虑使用数据仓库
                缓存数据库的使用,如何选择缓存数据库?是Redis还是Memcache? 如何设计缓存机制?
                数据通信问题如何选择通信方式?是使用TCP还是UDP,是使用长连接还是短连接?NIO还是BIO?netty、mina还是原生socket?
                操作系统选取,是使用winserver还是Linux?或者Unix?
                硬件配置?是8G内存还是32G,网卡10G还是1G?
                ……

以上的这些问题在高并发中都是必须要深入考虑的,就像木桶原理一样,只要其中的某一方面没有考虑到,都会造成系统瓶颈,影响整个系统的运行。而高并发问题不仅仅涉及面之广,同时又要求有足够的深度!!!

 

转载于:https://www.cnblogs.com/yikuan-919/p/9998831.html

你可能感兴趣的文章
Pongo网页版JavaScript源代码及设计思路
查看>>
mongodb常用的shell脚本语法
查看>>
github提交代码操作笔记
查看>>
PHPexcel 将excel表格数据导入数据库
查看>>
LVS负载均衡集群---->理论
查看>>
一个日志的多种处理方法
查看>>
RPM 安装 MySwl
查看>>
shell实现代码自动化部署
查看>>
Weak Pointer 和 SharedPointer的一点区别
查看>>
Ruby-散列
查看>>
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails
查看>>
spark集群配置
查看>>
OpenNMS安装与试用
查看>>
安装Win2012 - 体验Windows 2012 Server 的虚拟化技术【1】
查看>>
QListWiget等样式表
查看>>
计算100以内所有奇数的和以及所有偶数的和
查看>>
搭建本地私有Kolla docker registry
查看>>
Docker 定制ssh、java等基础服务镜像
查看>>
jvm参数设置和分析
查看>>
伟大的程序员是怎样炼成的?
查看>>