• Java并发编程
  • JVM
  • JMX
  • Java数据结构与算法
  • 动态字节码生成技术
  • 常用工具
  • 1.0 Netty简介

    2017-01-02 22:07:02 56,115 0

      Netty是由JBOSS提供的一个开源的java网络编程框架,主要是对java的nio包进行了再次封装。Netty比java原生的nio包提供了更加强大、稳定的功能和易于使用的api。 netty的作者是Trustin Lee,这是一个韩国人,他还开发了另外一个著名的网络编程框架,mina。二者在很多方面都十分相似,它们的线程模型也是基本一致 。不过netty社区的活跃程度要mina高得多。

    Netty的应用案例:

    apache storm ,这是一个分布式实时计算框架

    logo.png

    hadoop,其RPC框架Avro就使用了Netty作为底层通信框架

    hadoop-logo.jpg

    apache rocketmq,这是阿里巴巴的一个消息中间件,现在已经捐赠给apache了

    68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663638302e706e67.png


    apache dubbo,这是阿里巴巴开发的一个SOA服务治理框架

    ...


    Netty版本选择

    3.x 目前企业使用最多的版本,最为稳定。例如dubbo使用的就是3.x版本

    4.x 引入了内存池等重大特性,可以有效的降低GC负载,rocketmq使用的就是4.x

    5.x 已经被废弃了,具体可参见https://github.com/netty/netty/issues/4466


    本ob欧宝体育在线登录使用4.1.22.Final进行讲解,最后会补充一些3.x的内容

    <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-all</artifactId>
        <version>4.1.22.Final</version>
    </dependency>