当前位置:首页 > 公众号精选 > 程序员鱼皮
[导读]举个例子:你只有 3 台 4 核 8 G 内存的服务器,如何在最短的时间内对 1000 万行数据进行汇总运算,就可以运用并发来解决。比如你可以把数据均摊到 3 台机器上同时汇总,最后再对 3 台机器的汇总数据再汇总(大数据 Map Reduce 的思想)。

大家好,我是鲏。

前段时间,星球里一位朋友问我:

鱼皮,高并发项目牵扯的知识有哪些?

之前看到的一个回答:既要解决性能的问题又要考虑业务完整性,还有网络资源、服务器资源等,我不太能理解,希望鱼皮细说。

我就简单分享下自己对高并发的理解,水平有限还请见谅。

技术是为了解决实际问题服务的,那么并发是为了解决什么问题呢?我用一句话总结,就是:在资源有限、并且不改变程序执行结果(正确性)的情况下,合理运用并发编程和架构设计来尽可能多地 提高你程序的性能和稳定性

其中的关键字就是:

  1. 资源有限
  2. 不改变程序执行结果
  3. 并发编程
  4. 提升性能
  5. 提升稳定性

其实你会发现这几个点基本就把上述问题描述中提到的东西覆盖到了。

举个例子:你只有 3 台 4 核 8 G 内存的服务器,如何在最短的时间内对 1000 万行数据进行汇总运算,就可以运用并发来解决。比如你可以把数据均摊到 3 台机器上同时汇总,最后再对 3 台机器的汇总数据再汇总(大数据 Map Reduce 的思想)。

那么并发编程要学习哪些知识呢?

这里说一下我自己的学习顺序:

1)先了解并发的思想和概念,比如什么是同步和异步,什么是并发和并行,什么是进程 / 线程 / 协程、什么是线程安全性、什么是线程池、什么是 IO,还有锁、资源共享、性能指标 QPS / TPS / P95 / P99 等。

很多知识都是操作系统课上学到的,好好听课或者自己看书都可以,星球的同学可以看我的操作系统学习路线:

2)学习如何编写高并发程序,比如 Java 的 JUC 并发包,里面提供了很多现成的类和方法,比如 CompletableFuture、ExecutorService 等,了解它们的用法后,能够轻松实现并发编程,不用自己写 new Thread。

3)学习并发测试、监控和排障工具,比如压测工具 jmeter、监控工具 jconsole、线程分析工具 jstack 等,便于我们根据实际情况来分析并发编程占用的资源、有无死锁,从而更好地提升性能指标。

jconsole 控制台

4)以上这些都学会后,我们就要在做项目的过程中多思考以下问题:

  • 什么时候用并发编程(有无必要)?
  • 怎么设置并发编程的参数(比如线程池的核心线程数)?
  • 怎么划分并发资源(比如划分任务队列)?
  • 怎么防止和解决并发过程中的操作冲突(比如死锁)?

要做到合理运用并发来解决问题,而不是滥用。

5)跳出单个程序的代码,从上帝视角来设计规划整个系统。

比如选择何种技术来实现高并发?也就是技术选型,如使用 Nginx、消息队列等。

还有如何组合 / 编排多个服务来增加并发度?也就是架构设计(或者说部署)层面的问题,比如动静分离、分库分表、读写分离、弹性 / 线性扩容、冷热分离、批流一体等。



在学完基本的开发框架后,大家就可以开始学习并发编程了,这块知识还是很重要的。不了解并发就乱用的话不仅程序会出错、甚至可能出现性能还不如同步执行的情况。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为了满足日益增长的数据处理需求,铁威马NAS推出了全新的性能巅峰2024年旗舰之作F4-424 Pro,并搭载了最新的操作系统--TOS 6。这款高效办公神器的问世,无疑将为企业和专业人士带来前所未有的便捷与效率。

关键字: 存储 Linux 服务器

Apr. 23, 2024 ---- 随着节能成为AI推理服务器(AI Inference Server)优先考量,北美客户扩大存储产品订单,带动QLC Enterprise SSD需求开始攀升。然而,目前仅Solidi...

关键字: SSD AI 服务器

在AI需求暴增、5G升级周期和汽车智能电动化等因素的推动下,全球电子市场进入新一轮的增长期,尤其是在通信电子、消费电子和汽车电子等领域。需求增长促使上游产能升级的同时,也带来了制造和设计上更严格的标准,各种电子零部件可以...

关键字: AI 服务器 5G

北京——2024年4月9日 越来越多的企业将关键性的工作负载放到云上,如何确保云上业务的连续性即云的韧性对企业来说就越来越重要。在亚马逊云科技,我们从一开始就在基础设施、服务设计与部署、运营模式和机制中将韧性考虑其中。例...

关键字: 服务器 存储 数据中心

目标应用包括电信设备、服务器和智能表计的电源,以及LED车灯或汽车低压DC/DC转换器

关键字: 二极管 服务器 智能表计

结合ST第三代碳化硅金属氧化物半导体场效晶体管、STGAP隔离驱动器和STM32微控制器技术,此图腾柱无桥式功率因数修正器(PFC)解决方案为一个即插即用的解决方案,满足数据中心之高阶服务器和电信通讯电源设计的需求...

关键字: 数据中心 服务器 碳化硅

康佳特扩展边缘服务器生态系统, 推出 µATX 服务器载板和基于最新英特尔至强处理器的 COMHPC Server模块

关键字: 处理器 服务器 AI

美国加利福尼亚州圣何塞 —— GTC —— 太平洋时间 2024 年 3 月 18 日 —— NVIDIA 于今日推出数十项企业级生成式 AI 微服务,企业可以利用这些微服务在自己的平台上创建和部署定制应用,同时保留对知...

关键字: AI 模型 生成式 AI 服务器

Mar. 7, 2024 ---- 2023年第三季供应商大幅减少产出,使得Enterprise SSD价格有撑,第四季合约价的反弹吸引买家积极购货,加上服务器品牌商需求也随着2024年企业资本支出展望优于去年,进而扩大...

关键字: NAND Flash 服务器 SSD

随着通用人工智能的发展,数据中心的计算需求逐步提高。针对多模态数据、大模型的推理和训练需要更高的算力支持,而随着算力提升与之而来的还需更关注在功耗方面的优化。对于头部云计算和服务厂商而言,针对专门用例提高每瓦性能变得至关...

关键字: ARM 服务器 AI Neoverse CSS
关闭