通信框架

1、长连接还是短连接?

选择长连接,原因:更节约资源,多个消息复用同一个链路。

2、BIO还是NIO?

BIO通信模型最大的问题是系统缺乏弹性伸缩能力,服务端线程个数和客户端个数并发访问数呈现1:1比例,线程膨胀后,系统性能急剧下降,系统发生堆栈溢出,创建新线程失败,造成进程僵死等现象。

多路复用技术:把多个IO的阻塞复用到同一个select的阻塞上,从而使得系统在单线程的情况下可以同时处理多个客户端请求,节省了系统资源。

3、通信框架不与具体协议绑定,在通信框架之上,有私有协议栈和公有协议栈。

Binary Protocol Text Protocol Web Services Restfull HTTP
          Private Protocol              Public Protocol
                               Transport Facade API
Base Long Connect Framework Base Short Connect Framework
                                               Netty

4、通信框架服务端的职责

提供上层API,用户初始化服务端实例,设置服务端通信参数,包括服务端的IO线程池、监听地址、TCP相关参数、接收和发送缓冲区大小;

提供可扩展的编解码插件;

提供拦截面,用于私有协议栈开发;

猜你喜欢

转载自happytech.iteye.com/blog/2308833