码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 网络通信知识地图


    我在之前一段时间做过网络通信的系列文章,但是文章还是偏散,没有一个整体脉络,本篇就以知识地图的形式来进行梳理。

     

    知识地图是一种知识导航系统,并显示不同的知识存储之间重要的动态联系。本篇主要就是从更高的视角将之前的文章的结构思路展现出来。文章结构的思路实际上也是达到架构师程度要掌握的网络通信知识学习路线。

     

    目的意义

     

    在咱们【编程一生】用户群里,我看到有朋友提出一个问题:觉得很多事情是运维人员做的。实际上运维人员由于不懂业务,在实际工作中起不到相应的帮助。也有些很给力的运维人员,人家有问题不推脱,有时候靠着查开发人员的代码把问题解决了。

     

    上面提到的就涉及到一个人员分工的问题。在十几年前啊,前端后端都是没有明确分工的,所有的开发都是全栈。前后端分工是为了让大家能把事情做精做细。这几年分工有越来越精细的趋势。但是随着职位的增高,那些职位高的人往往什么都懂一些。因为他要负责的是一件事情,不是一个部分。

     

    分工的目的是为了更好地解决事情。而排查问题是事情的一方面。我的建议是不要太计较这到底属于谁的职责。职责是为事服务的。能搞定事的人绝不会受亏待。

     

    总结一下:学习网络通信相关的知识对于排查生产问题和架构都至关重要,要以事为中心,不要给自己设限。

     

    基础知识

     

    操作系统和网络基础

     

    因为站在排查问题的角度,生产环境一般会选用linux环境。所以网络通信有4大基础。先说前2大基础,对应我之前两篇反馈不错的文章:《白话linux操作系统原理》和《白话TCP/IP原理》。

     

    要深入细节,就会涉及平时面试中的一些高频问题。《深入浅出操作系统的零拷贝》和《网络字节序列-大端序和小端序》都是必须要掌握的基础。

     

    面试中问得比较多的,还得是IO相关。一般面试,了解《轻松搞懂5种IO模型》和《趣谈IO多路复用的本质》就差不多了。

     

    应用层协议

     

    《HTTP状态码1XX深入理解》和《【答案公布】客户端与服务端通信时,所有的http状态码是否都是服务端返回的?》两篇文章对http的状态码做了深入的讲解,能把这些讲清楚,相信能让很多面试官眼前一亮。要是我面试的话,我会认为面试者思考问题很细致。

     

    网络安全

     

    《架构师之路-https底层原理》和《懂了!国际算法体系对称算法DES原理》对证书和加解密、加验签算法做了讲解,这一块作为网关等基础设施的开发是必修课。

     

    架构底蕴

     

    在网络通信相关的中间件中,有一些通用的逻辑设计,对应着《网络通信之Session的历史血脉》、《状态保持解决方案-分布式session的历史血脉》、《深入理解MQ生产端的底层通信过程-理解channel》和《接下来一段时间会对大家进行网络通信的魔鬼训练-理解socket》这4篇文章。

     

    作为架构师要对整个链路有全面的了解。《一个http请求进来都经过了什么(2021版)》、《一个请求过来都经过了什么?(2017年http版)》和《一个请求过来都经过了什么?(Thrift版)》就是在讲一个架构师平时要做哪些方面的梳理。

     

     

    应用案例

     

    网络通信很大的一方面价值是用来排查解决生产问题。在《https引起的跨域问题-COE&casestudy》、《池式结构-连接池》和《懂得三境界-使用dubbo时请求超过问题》中,我就介绍了生产上网络问题的案例,学以致用。

     

    《手撕Dubbo源码,彻底理解RPC原理》这篇文章是想作为完结篇,说明学习了上面的知识,自己也可以轻松写出一个框架了。

     

    总结

     

    本文介绍了掌握网络通信的学习脉络。做到架构师水平能掌握到这种程度的也不多。是不是也没有那么难?

     

     

    编程一生

    因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。

     

    PDCA方法论,检查自己是否错过更新:每周三晚上8点左右,我都会更新文章,如果你没有收到,记得点开【编程一生】公众号找一下(*^▽^*)

  • 相关阅读:
    【老生谈算法】自动控制中常用的Matlab函数合集——自动控制
    244.2-248-css-HTML5语义化元素,其他新增元素,video兼容性写法,audio
    docker 镜像 overview
    EN 14342木地板产品—CE认证
    Web3社交=身份系统(DID)+数据系统
    java+ssm基于微信小程序的高校新生自助报到迎新系统 uniapp 小程序
    彻底搞懂dfs与回溯
    【JavaWeb】简易权限校验、Filter-程序跳转
    基于 LLM 的知识图谱另类实践
    5分钟了解数据结构
  • 原文地址:https://www.cnblogs.com/xiexj/p/16081436.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号