博客 / 列表

mghio - Dubbo 中的集羣容錯

前言 在微服務架構中,服務間的依賴關係複雜且動態,任何一個服務的故障都可能引發連鎖反應,導致系統雪崩。一個好的容錯設計可以避免這些問題發生: 服務雪崩效應:單個服務崩潰或響應延遲可能導致調用鏈上的所有服務被阻塞,最終拖垮整個系統。例如,若服務 A 依賴服務 B,而服務 B 因高負載無法響應,A 的線程池可能被佔滿,進而影響其他依賴A的服務; 分佈式系統的脆弱性:網絡抖動、節點宕機、資源耗盡等

設計思想 , dubbo , 微服務 , JAVA , 後端

mghio - 《UNIX 傳奇:歷史與回憶》讀後感

《UNIX 傳奇:歷史與回憶》 是 bwk(Brian W. Kernighan)2019 年的新作,回憶了 UNIX 在大半個世紀的風雨歷程,是一本引人入勝的書籍。通過對 UNIX 操作系統的歷史和發展進行詳細的敍述和回顧,讓我對這個操作系統有了更深入的瞭解。讀完這本書,我不僅對 UNIX 的技術細節有了更清晰的認識,也對 UNIX 的影響力和價值有了更深刻的體會。 書中首先回顧了 UNIX

歷史 , 文化 , unix , 後端

mghio - Go 併發模型—Goroutines

前言 Goroutines 是 Go 語言主要的併發原語。它看起來非常像線程,但是相比於線程它的創建和管理成本很低。Go 在運行時將 goroutine 有效地調度到真實的線程上,以避免浪費資源,因此您可以輕鬆地創建大量的 goroutine(例如每個請求一個 goroutine),並且您可以編寫簡單的,命令式的阻塞代碼。因此,Go 的網絡代碼往往比其它語言中的等效代碼更直接,更容易理解(這點從下

goroutine , 併發模型 , 併發編程 , go

mghio - 抓包分析 TCP 握手和揮手

前言 首先需要明確的是 TCP 是一個可靠傳輸協議,它的所有特點最終都是為了這個可靠傳輸服務。在網上看到過很多文章講 TCP 連接的三次握手和斷開連接的四次揮手,但是都太過於理論,看完感覺總是似懂非懂。反覆思考過後,覺得我自己還是偏工程型的人,要學習這些理論性的知識,最好的方式還是要通過實際案例來理解,這樣才會具象深刻。本文通過 Wireshark 抓包來分析 TCP 三次握手和四次揮手,如果你也

tcp抓包 , 協議 , 基礎 , tcp , 網絡傳輸協議

mghio - Spring 中 @EnableXXX 註解的套路

前言 在 Spring 框架中有很多實用的功能,不需要寫大量的配置代碼,只需添加幾個註解即可開啓。 其中一個重要原因是那些 @EnableXXX 註解,它可以讓你通過在配置類加上簡單的註解來快速地開啓諸如事務管理(@EnableTransactionManagement)、Spring MVC(@EnableWebMvc)或定時任務(@EnableScheduling)等功能。這些看起來簡單的註解

設計 , spring , 技術分享 , 原理 , 後端