网络编程有几种(什么是网络编程)
网络编程有几种(什么是网络编程)
什么是网络编程?用一句话概括,就是对网络协议的落地。
落地,意味着对实战的要求更高。所以,一些朋友更喜欢用类似 Netty 这种封装好的框架——快速,高效。确实,跟开发细节相比,我们常常更看重开发效率。
可日常的项目里,我们也不得不面对极端的网络性能考验。没人喜欢堵车,但应对大量请求时,如果网络性能处理不佳,数据、业务就会面临大塞车。
举个正向的例子,之前在绿盟有个信息安全产品,叫黑洞,是当时市场上最成功的 DDOS 过滤设备。这玩意最大的技术难点就在于:当攻击报文洪水到达时,每秒要过滤掉几十万攻击请求。在那之前,我从没想过通过程序代码,对网络报文的处理效率,竟然能达到如此强悍的地步。
早些年尚且如此,更别提如今的 5G 时代了。用户大幅度提升的平均网络传输速度,正对我们提出高性能网络编程的要求:不仅要解决诸如提高吞吐量和并发性等问题,还得处理各种棘手异常,比如保证千万个连接的正常运行等等。这些,显然不是一两个框架就能搞定的。可惜的是,我面试过的不少候选人都没有意识到这点,哪怕他们已经工作多年,在网络协议和网络编程这块依旧不是很上心,对其的理解也还停留在一个比较浅的层次上,
比如:
• 大家经常说的四层、七层,分别指的是什么?
• TCP 三次握手是什么,TIME_WAIT 是怎么发生的?CLOSE_WAIT 又是什么状态?
• Linux 下的 epoll 解决的是什么问题?如何使用 epoll 写出高性能的网络程序?
• 什么是网络事件驱动模型?Reactor 模式又是什么?
其实,无论在面试还是工作中,网络性能及优化这方面的知识都是非常重要的基本功。在我看来,想做到高性能网络编程,下面两个核心要点永远都绕不开:
第一,在理解网络协议的基础上,充分利用操作系统内核提供的能力,感知各种网络 I/O 事件;第二,学会使用线程处理并发。抓住这两点,就抓住了高性能网络编程的“七寸”。
分享给你一张网络编程的核心知识图谱,将上述两个核心会涉及到的知识点都囊括在内,只要我们仔细梳理、透彻理解这些核心知识点,就能学以致用地解决工作中的实际问题。
这张图谱出自盛延敏的《网络编程实战》专栏。高性能网络编程,因为整个都是围绕「高性能」展开的。
但话又说回来,高性能就建立在那些实打实的经验基础上,所以现在这个也算简洁有力。内容同样是单刀直入展开,比如在讲解某个理论或算法时,与代码、实验相关联,分析它提出的目的、解决了哪些问题。
说白了,就是从解决实际问题的角度切入,讲解知识点,让你透彻理解协议、API 和代码。学完就能用得上。
,
-
- 什么叫双相情感障碍躁狂症(双向情感障碍是什么病)
-
2023-07-16 21:49:04
-
- 电子包浆是什么原理(不知道什么是电子包浆)
-
2023-07-16 21:46:58
-
- 天为什么是蓝色的原理(天空为什么呈蓝色的原因)
-
2023-07-16 21:44:51
-
- 绝地求生fpp和tpp有什么区别(从FPP和TPP的区别了解你是哪类玩家)
-
2023-07-16 21:42:45
-
- 蚕丝被为什么有酸味 蚕丝被如何清洗和保养
-
2023-07-16 13:47:08
-
- 九寨沟在四川哪个城市(九寨沟属于哪个市)
-
2023-07-16 13:45:03
-
- 边防证如何办理2023(2023年边防证办理新办法)
-
2023-07-16 13:42:58
-
- 6㎝多长参照物,相当于男性大拇指长(女性食指长)
-
2023-07-16 13:40:54
-
- 雄关是指什么关(雄关是什么意思)
-
2023-07-16 13:38:49
-
- 乌克兰面积和人口(乌克兰有多大有多少人口)
-
2023-07-16 13:36:44
-
- 家庭养昙花的禁忌有哪些 什么环境下适合种植昙花
-
2023-07-16 13:34:39
-
- 惬意是什么意思(惬意的正确解释)
-
2023-07-16 13:32:34
-
- 韩国韵达不寄bts周边是真的吗
-
2023-07-16 13:30:29
-
- 天铁是什么(天铁陨石是什么东西)
-
2023-07-16 13:28:24
-
- 我是歌手孙楠参加了几期(我是歌手孙楠退赛坐实了什么)
-
2023-07-16 09:38:03
-
- 黎明之前的水手结局是什么(黎明之前结尾你真的看懂了吗)
-
2023-07-16 09:35:57
-
- 纳斯达克指数什么意思(纳斯达克指数说明什么)
-
2023-07-16 09:33:51
-
- 抖音热歌我会一直陪在你的身边(抖音有天我睡醒发现我的身边没有你是什么歌)
-
2023-07-16 09:31:45
-
- 年度汇算清缴指的是什么(汇算清缴指的是哪些)
-
2023-07-16 09:29:39
-
- 国家什么时候取消了公摊面积(什么是公摊面积)
-
2023-07-16 09:27:33