netty

1 reactor模型的实现

2 netty可以通过主从线程模型,bossgroup和workergroup进行,连接初始化工作,以及连接事件处理能力(op_accept,op_read),而NIOEventLoopGroup是继承了MultithreadEventExecutorGroup类,通过构造方法会创建一个ThreadPerTaskExecutor执行器对象用于代理线程工厂进行runnable任务的提交,之后会通过当前指定的线程数调用newChild方法来创建对应的执行器个数,而初始化NIOEventLoopGroup时通过SelectProvider#provider方法初始化多路复用器。

3 参数优化:(1)OS开头TCP参数,需要设置碎片数据整合发送增加效率,开启Nagle压缩。(2)SO_REUSEADDR:可利用多块网卡支持重复绑定ip端口,而且可以只用1秒,提前结束TCP4次挥手后的timewait等待时间,这样就可以快速重用端口

4 日志优化,需要给eventloopgroup以及channelhandle设定名称,方便日志调试,挂接日志处理器的时候应该挂接到serverbootstrap的handle中,尽量不要挂接到childHandle中,因为childHandle是面向具体的一次连接通讯的,每建立一次通讯就要实例化一组channelHandle到pipeline中,这样会导致对象重复创建。

原文地址:https://www.cnblogs.com/zzq-include/p/13655817.html