1.什么是netty?
netty是一个异步的事件驱动的网络应用程序框架,支持了快速的开发可维护的高性能的面向协议的服务器和客户端
2.为什么netty这么快?
I/O类型有BIO,NIO等
bio 阻塞io,请求线程和业务工作线程是同一个,也就是程序中接受请求的线程和处理业务逻辑的线程是同一个。
nio 非阻塞io,通过selector选择器将请求线程跟工作线程分离, 用事件通知api以确定在一组非阻塞套接字中那些已经就绪能够进行io的操作。
nio相比bio的优势在那?或者说为什么nio就更快一点?
- bio在任何时候都可能有大量的线程处于休眠状态 影响处理效率
- bio需要为每个线程的调用栈都分配内存 内存不够
- bio上下文切换 性能损耗
异步和事件驱动带来的最高级别的可伸缩性:
可以以任意的顺序响应在任何的时间产生的事件。
3.netty的核心组件
- channel
- 回调
- future
- 事件和channelhandler