zoukankan      html  css  js  c++  java
  • Netty框架

    Netty框架

    新版本:3.0.2.GA,于2008年11月19日发布。

    Netty项目致力于提供一个异步的、事件驱动的网络应用框架和工具,用于快速开发可维护的、高性能的、高扩展性的服务器和客户端之间的协议。换句话说,Netty式一个NIO客户端服务器框架,能够快速、轻松地开发网络应用例如服务器和客户端间的协议。它简化了网络编程如TCP/IP socket服务器。

    JBOSSes Netty的设计吸取了大量的协议如FTP、SMTP、HTTP和各种二进制、基于文本的继承协议等协议的设计经验,成功地找到了一种方法实现易于开发、性能、稳定、灵活的协议开发。

    特征:
    Netty为用户提供了很多创新和更好的网络开发体验。
    1)设计Design
    为各种传输类型(块和非块socket)提供了统一的API;
    建立在灵活和可扩展的事件模型;
    高度可定制的线程模式——单线程,一个或多个线程池(如SEDA);
    可信的五连接数据报socket支持。
    2)易于使用
    良好文档化的Javadoc、用户向导和例子;
    结构并不臃肿;
    无其它的依赖,只需JDK1.5或以上。
    3)性能
    高吞吐量、低延迟时间;
    很小的资源消耗;
    最小化不必要的内存复制。
    4)健壮性
    不会因为快速连接、慢速连接或超载连接引起OutOfMemoryError错误;
    高速网络下不会引起NIO程序的读写异常。
    5)安全
    完全支持SSL/TLS和StartTLS;
    在Java Applet环境下运行正常。
    6)社区
    至少每两周一个版本发布。

    项目主页: http://www.jboss.org/netty/
    文档地址: http://www.jboss.org/netty/documentation.html
    下载地址: http://www.jboss.org/netty/downloads.html

    //评论

    NIO  和阻塞访问, 你可以写个程序实验看看, 实际上, 在高压力情况下, NIO和阻塞的性能是差不多的。 但是, 在一个相对不那么高的压力下, NIO的CPU 消耗会比较高点, 但是平均响应时间也会好一点。

    性能有时候不是最主要的, 轻量级的容器也是很需要的, 比如Netty。



    老兄一看就是有经验的高手。

    我后来也把 NIO 改成 OIO 的实现,性能要高出了10-20%左右,但是要根据应用情况调整一下 ThreadPool 的数量。这一点很符合你的说法。

    我感觉对代码再精简、优化一下应该还会有性能的提升,不过暂时没时间去做了,等有时间再去试试。

    我感觉这个测试中最宝贵的经验是 Netty NIO 在 keep-alive 的情况下性能相当的卓越,可以在很多的场景中利用这个特性。

    1 楼 sdh5724 2010-03-22   引用
    NIO  和阻塞访问, 你可以写个程序实验看看, 实际上, 在高压力情况下, NIO和阻塞的性能是差不多的。 但是, 在一个相对不那么高的压力下, NIO的CPU 消耗会比较高点, 但是平均响应时间也会好一点。

    性能有时候不是最主要的, 轻量级的容器也是很需要的, 比如Netty。
  • 相关阅读:
    vanilla单词的意思
    快速排序实现
    python下载一些包出现time out的问题解决
    神经网络浅讲:从神经网络到深度学习
    神经网络基础知识
    TCP/IP
    查找机器学习相关数据集
    [数据治理]
    【算法】——LRU
    【大数据开发工程师】面试——HBase
  • 原文地址:https://www.cnblogs.com/jiahuafu/p/1719344.html
Copyright © 2011-2022 走看看