
课程咨询: 400-996-5531
投诉建议: 400-111-8989
认真做教育 专心促就业
高并发编程开发是目前许多软件开发程序员在开发软件的时候需要满足的一个编程开发需求,而本文我们就通过案例分析来简单了解一下,高并发编程技术学习都有哪些阶段。
1、一阶段
在高并发条件下,学习对单机性能进行优化。
用Docker容器先去运行电商项目,然后再用jmeter、wrk等工具去压测。
在压测期间,你会发现:由于系统每个模块不同,所以性能表现就不一样。
这是正常的,不同模块、不同产品对并发指标的要求本身想·是不一样的。例如,商品浏览和下订单,一个读为主,一个写为主。
基于这种情况,你好要编写复杂的压测脚本,能自动实现不同模块的压测任务。
然后在这种不断地压测探测下,去探测问题,并且通过优化代码、JVM去解决问题。
比如,解决误用HashMap导致死循环的问题。又比如,误用不带缓存的文件IO流氓,去读取文件的问题等等。
该程序和JVM优化完毕后,你可能又会发现数据库也存在问题。于是,你又要去研究如何优化数据库SQL,如何对数据库分表等问题。
也是在这个阶段,你可能还会学到,缓存的必要性以及同步缓存数据状态的重要性等重要知识点。
在搞了单机优化后,没有办法再通过单机的压测学到什么新的东西了。于是,转向二阶段。
2、二阶段
从阿里云买了两台机器,开始尝试使用负载均衡去分担高并发的压力。
同样的,也是借助压测工具去模拟了高并发。在压测期间,负载均衡和系统屡屡出现和单机完全不一样的问题。
比如,负载均衡本身的性能问题。比如,在一些时候,负载均衡后面的机器负载是不平衡的,需要对负载算法进行调整。
这个阶段,你会接触到负载均衡中大部分的细节。
但是,高并发中,很多系统的构成会很复杂,以至于需要分布式架构系统的程度。他们需要各种中间件做通信,做存储。
所以,继续三阶段的练习。
3、三阶段
为了能熟悉市面上各种中间件的使用,开始对单体的电商平台进行改造。
比如,把一些本地调用的方法,替换成Dubbo远程调用。
比如,将一些模块直接调用,替换成MQ中间件传消息。
再比如,一些放在关系数据库的被频繁访问的数据,改存在MongoDB中……
当然,压测依然继续。就这样,你可以实践到很多中间件和分布式框架的使用。
在模拟高并发练习的同时,别忘了去读各种高并发高性能的书籍。
三个阶段的学习之后,面试的大部分基础问题你基本可以应付了。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。