ES-TCPTransport 1 - 交互以及API

本节目标:

主要为了掌握TCPTransport交互过程已经熟悉其中相关的API;为之后自定义ES交互协议做储备。

TCPTransport与Netty4Transport简介

TCPTransport是Netty4Transport抽象,它主要以节点为粒度定义了通信的过程,包括:ping任务、连接建立,发送信息和协议结构的基本封装等。

TCPTransport的交互过程及相关API

交互过程图如下:

ES-TCPTransport 1 - 交互以及API_第1张图片

    协议交互描述(下述请求端的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任务)

你可能感兴趣的:(ES-TCPTransport 1 - 交互以及API)