本节目标:
主要为了掌握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任务)