我的Netty开发

我的Netty开发

版权所有!

Netty和Mina都是异步网络通信库,两者的性能都很优秀,而且都是技术非常成熟的框架,所以精通其中一个库即可。

一、Netty介绍

Netty是一个异步事件驱动的网络应用程序框架,准确说是一个JavaNIO客户端/服务器框架,用于快速开发和维护高性能协议的服务器/客户端通信。Netty极大地简化和精简了网络编程的过程,尤其是TCP和UDP的Socket服务器编程。

Netty内部设计很严密,实现了FTP、SMTP、HTTP等协议,以及各种二进制的协议和基于文本的协议。

Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty的NIO框架构建。

Netty基于Apache2.0许可证发布。

二、Netty特征

Netty的特点有:

1.设计方面

针对各种传输类型(阻塞和非阻塞的套接字)提供了统一的API

基于灵活和可扩展的事件模型,可专注于业务开发

高度可定制的线程模型——单线程、一到多个线程池(比如SEDA)

支持真正无连接的数据报套接字

2.易用性方面

有良好的JavaDoc、用户指南和实例(客观地说,文档太少)

除了JDK1.5以上,无其它依赖包

3.性能方面

更高的吞吐量、更低的延迟率

资源消耗低

不必要的内存复制尽可能少

4.安全方面

完整的支持SSL/TLS和StartTLS

可以运行于严格的环境,比如Applet或OSGi

三、Netty库的下载

Netty4.0.23Final稳定版与8月15日发布。下载地址为:

http://dl.bintray.com/netty/downloads/netty-4.0.23.Final.tar.bz2

除此之外,还有4.1的Beta版,以及5.0的Alpha版。

还可以从Maven中央仓库下载Netty,只需在POM中做如下配置:

<dependencies>
  ...
  <dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-all</artifactId>
    <version>4.0.23.Final</version>
    <scope>compile</scope>
  </dependency>
  ...
</dependencies>

要说明一点,Netty库需要JDK1.5以上版本的支持。

以上只是我在Netty道路上的第一步,在以后的日子里我会继续深入Netty通信库。

相关推荐