源码部分请见Netty的高级用法(一)
功能描述
通信框架承载了业务内部各模块之间的消息交互和服务调用,它的主要功能如下:
- 基于Netty的NIO通信框架,提供高性能的异步通信能力
- 提供消息的编解码框架,可以实现POJO的序列化和反序列化
- 消息内容的防篡改机制
- 提供基于IP地址的白名单接入认证机制
- 链路的有效性校验机制
- 链路的断连重连机制
通信模型
1.客户端发送应用握手请求,携带节点ID等有效身份认证信息
2.服务端对应应用握手请求消息进行合法性校验,包括节点ID有效性校验、节点重复登录校验和IP地址合法性校验,
校验通过后,返回登录成功的应用握手应答消息
3.链路建立成功之后,客户端发送业务消息
4.链路成功之后,服务端发送心跳消息
5.链路建立成功之后,客户端发送心跳消息
6.链路建立成功之后,服务端发送业务消息
7.服务端退出时,服务端关闭连接,客户端感知对方关闭连接后,被动关闭客户端连接
备注:需要指出的是,协议通信双方链路建立成功之后,双方可以进行全双工通信,无论是客户端还是服务端,都可以主动发送请求消息给对方,通信方式可以是TWO WAY或者ONE WAY.双方之间的心跳采用P