本節目標:
主要為了掌握TCPTransport交互過程已經熟悉其中相關的API;為之后自定義ES交互協議做儲備。
TCPTransport與Netty4Transport簡介
TCPTransport是Netty4Transport抽象,它主要以節點為粒度定義了通信的過程,包括:ping任務、連接建立,發送信息和協議結構的基本封裝等。
TCPTransport的交互過程及相關API
交互過程圖如下:
??? 協議交互描述(下述請求端的TCPTransport簡稱CN,服務端的TCPTransport簡稱SN):
??????? CN端先與SN端建立連接(connectToNode);在連接過程中CN會發送handshake協議與SN端完成連接。
???????? 然后CN端構造并發送請求(sendRequest)給到SN,
???????? SN接收請求信息(handleRequest)。
???????? SN端處理請求信息后將結果返回給CN(sendResponse)。
???????? CN端接收到SN的響應(handleResponse)。
ping任務描述:
??? ping任務主要是確保SN端Node還是存活;此任務開啟后會定時向CN發送ping請求包,SN會響應此ping請求以告知node還是存活狀態;
核心API如下:
TCPTransport
+connectToNode (連接到Node)
+sendRequest (發送請求信息)
+receivedMessage (接受信息)
???? -handleRequest (接收請求信息)
????? -handleResponse (接收響應信息)
+sendResponse (發送響應信息)
+pingSchedule (ping任務)