netty--初入门(1)

netty相对于传统的java序列化+BIO的通信框架性能提高了8倍,主要是对NIO的封装能够支持10w的TPS

netty是什么:

1.netty是异步事件驱动框架,用于快速开发高性能服务端和客户端

2.封装了JDK底层的NIO和BIO模型,提供了高可用的api

3.自带编码解码器解决拆包粘包问题,用户只用关心业务逻辑

4.精心设计的reactor线程模型,支持高并发海量连接

5.自带协议栈,无需用户关心

 

 

 

netty实现流程:

 

 

 

内存池 :

 

高效的reactor线程模型 :

1) Reactor单线程模型: 所有IO操作都在同一个NIO线程上完成,NIO线程的职责如下 : 

          a.作为NIO服务端,接收客户端TCP连接,

          b.作为NIO客户端,向服务端发起TCP链接

          c. 读取通信端的请求或应答消息

          

2) Reactor多线程模型 :

      

3) 主从Reactor多线程模型

 

无锁化的串行设计理念:

在大多数场景下,并行多线程处理可以提升系统的并发性能,但是如果对于共享资源的并发访问处理不当,会带来严重的锁竞争,这最终会导致性能下降,为尽可能的避免锁竞争带来的性能损耗,可以通过串行化设计,即消息的处理尽可能在同一线程内完成,期间不进行线程切换,这样就避免了多线程竞争和锁切换,

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值