網路通信知識地圖

来源:https://www.cnblogs.com/xiexj/archive/2022/03/31/16081436.html
-Advertisement-
Play Games

我在之前一段時間做過網路通信的系列文章,但是文章還是偏散,沒有一個整體脈絡,本篇就以知識地圖的形式來進行梳理。 知識地圖是一種知識導航系統,並顯示不同的知識存儲之間重要的動態聯繫。本篇主要就是從更高的視角將之前的文章的結構思路展現出來。文章結構的思路實際上也是達到架構師程度要掌握的網路通信知識學習路 ...


我在之前一段時間做過網路通信的系列文章,但是文章還是偏散,沒有一個整體脈絡,本篇就以知識地圖的形式來進行梳理。

 

知識地圖是一種知識導航系統,並顯示不同的知識存儲之間重要的動態聯繫。本篇主要就是從更高的視角將之前的文章的結構思路展現出來。文章結構的思路實際上也是達到架構師程度要掌握的網路通信知識學習路線。

 

目的意義

 

在咱們【編程一生】用戶群里,我看到有朋友提出一個問題:覺得很多事情是運維人員做的。實際上運維人員由於不懂業務,在實際工作中起不到相應的幫助。也有些很給力的運維人員,人家有問題不推脫,有時候靠著查開發人員的代碼把問題解決了。

 

上面提到的就涉及到一個人員分工的問題。在十幾年前啊,前端後端都是沒有明確分工的,所有的開發都是全棧。前後端分工是為了讓大家能把事情做精做細。這幾年分工有越來越精細的趨勢。但是隨著職位的增高,那些職位高的人往往什麼都懂一些。因為他要負責的是一件事情,不是一個部分。

 

分工的目的是為了更好地解決事情。而排查問題是事情的一方面。我的建議是不要太計較這到底屬於誰的職責。職責是為事服務的。能搞定事的人絕不會受虧待。

 

總結一下:學習網路通信相關的知識對於排查生產問題和架構都至關重要,要以事為中心,不要給自己設限。

 

基礎知識

 

操作系統和網路基礎

 

因為站在排查問題的角度,生產環境一般會選用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點左右,我都會更新文章,如果你沒有收到,記得點開【編程一生】公眾號找一下(*^▽^*)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • MySQL版本:5.7.34-log *通過創建函數的方法,目前可以實現整數金額的轉換,網上暫未找到MySQL版本的故自己參照其他資料庫版本的改編了一下,*僅供參考!!! 使用方法:select rmb(10000) CREATE DEFINER = `root`@`%` FUNCTION `rmb ...
  • 最近Jetpack Compose發佈了Beta版本,抽時間瞭解了一下Compose帶來的改變和其中的一些原理。本文不會講解具體API,只是比較隨意的分享自己的一些疑問以及在探尋答案過程中的一些收穫。 ...
  • 基於大家都期望的更美好的未來世界,數字管家必定會為實現更便捷、更具幸福感的生活體驗而不斷努力,期待作為開發者的你加入併為之貢獻一臂之力。 ...
  • 在涉及團購、外賣、快遞、家政、物流、搬家等生活服務類的App、小程式中,填寫收貨地址是用戶高頻使用的功能。這一功能通常採取讓用戶手動填寫的解決方案,例如上下拉動選擇浙江省-->杭州市-->西湖區-->西溪街道,再切換到姓名輸入框輸入姓名-->電話輸入框輸入電話等一系列的操作。從中我們不難發現手動輸入 ...
  • 平時想記錄的東西太多了,關於日常感知,莫明其妙的小想法、隨筆,這些發到公眾號又不太合適。 索性擼起袖子加油乾。埋頭苦幹了一周多 ...
  • 前言 元宇宙正在如火如荼地發展,大有引領未來潮流之勢。對於我們這麼專業的(web 前端)團隊來說,元宇宙是一個大 (wan) 顯 (quan) 身 (bu) 手 (dong) 的領域,因此團隊在這方面投入了很多人力進行預研和總結,請隨本文一起踏入元宇宙的神秘世界。 元宇宙與 3D 元宇宙,或稱為後設 ...
  • 一、冒泡排序 原理:相鄰兩元素之間兩兩比較,比較出大值進行賦值互換,再依次與相鄰的元素比較,層層遞進。#互換元素位置,相互賦值。 時間複雜度:最好O(n),最差O(n^2) 1、比較相鄰的兩個元素,如果前一個比後一個大,則交換位置。2、比較完第一輪的時候,最後一個元素是最大的元素。3、這時候最後一個 ...
  • 橋接模式是什麼 橋接模式:橋接是一種結構型設計模式, 可將業務邏輯或一個大類拆分為不同的層次結構, 從而能獨立地進行開發。 為什麼用橋接模式 對於兩個獨立變化的維度,使用橋接模式再適合不過了. 橋接模式怎麼實現 這裡是將computer和printer分成兩層,用介面的方式把強耦合轉化為弱耦合。這兩 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...