Java网络编程5:初识Netty

一、什么是Netty

  Netty是一个基于异步与事件驱动的网络应用程序框架,它支持快速与简单地开发可维护的高性能的服务器与客户端。

二、Netty实现原理

  因为Netty本身就是一个基于NIO的网络框架, 封装了Java NIO那些复杂的底层细节,给你提供简单好用的抽象概念来编程。

  注意几个关键词,首先它是个框架,是个“半成品”,不能开箱即用,你必须得拿过来做点定制,利用它开发出自己的应用程序,然后才能运行(就像使用Spring那样)。 

  一个更加知名的例子就是阿里巴巴的Dubbo了,这个RPC框架的底层用的就是Netty。 

  另外一个关键词是高性能,如果你的应用根本没有高并发的压力,那就不一定要用Netty了。

三、为什么要用Netty

  • 拥有设计良好且统一的API,支持NIO与OIO(阻塞IO)等多种传输类型,支持真正的无连接UDP Socket。

  • 简单而强大的线程模型,可高度定制线程(池)。

  • 良好的模块化与解耦,支持可扩展和灵活的事件模型,可以很轻松地分离关注点以复用逻辑组件(可插拔的)。

  • 性能高效,拥有比Java核心API更高的吞吐量,通过zero-copy功能以实现最少的内存复制消耗。

  • 内置了许多常用的协议编解码器,如HTTP、SSL、WebScoket等常见协议可以通过Netty做到开箱即用。用户也可以利用Netty简单方便地实现自己的应用层协议。

 

posted @ 2019-08-20 15:11  悦风旗下  阅读(88)  评论(0编辑  收藏  举报