1. 程式人生 > >netty原始碼分析 1-1 Netty深入剖析

netty原始碼分析 1-1 Netty深入剖析

我們為什麼呢要學習Netty通訊呢?其實業內我們有很多大型架構都是Netty作為底層通訊,非同步非阻塞。如:Duddo,RocketMQ,Spark,Elasticsearch,Cassandra,Flink,Netty-SocketIO,Spring5,Play,Grpc。

所以那Netty到底是什麼?

1.非同步事件驅動框架,用於快速開發高效能服務端和客戶端。

2.封裝了JDK底層BIO(同步阻塞式IO)和NIO(同步非阻塞式IO)模型,提供高可用的API.

3.自帶解碼器解析拆包粘包問題,使用者只關心業務邏輯。

4.精心設計的reactor執行緒模型支援高併發海量連線

5.自帶各種協議棧讓你處理然後我一種通用協議都幾時不用親自動手。

有必要學嗎?

1.各大開源專案選擇Netty作為底層通訊框架

2.更好的使用,少走彎路

3.遇到bug?單機連線數上不去?效能遇到瓶頸?如何調優?

4.講解reactor執行緒模型,實踐中舉一反三

5.龐大的專案是如何組織的,設計模式,體驗優秀的設計

6.閱讀原始碼其實沒那麼苦難。

怎麼學?

1.自己摸索不如前人指路。

2.對應socket程式設計,逐一切入。

3.踩過的坑,積累的經驗總結毫無保留的分享,節省大量的時間。

4.調式,分析技巧。

最後可以達到什麼水平?

1.掌握Netty底層原理,輕鬆解決各類疑難雜症,深度調優

2.面試加分,網際網路各大框架師的職位,升值加薪,以一檔三

3.給官方提issue

4.實現一個簡易版的Netty

5.開啟閱讀原始碼之旅,根本停不下來。

知識儲備

1.熟悉java基礎,熟悉多執行緒

2.熟悉TCP原理,NIO

3.使用過Netty

4.maven,idea工具等。

跟著我一起學Netty原始碼,你並不孤單,一起進步,