Netty教程

Netty是一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。

Netty是一个NIO客户端、服务端框架。允许快速简单的开发网络应用程序。例如:服务端和客户端之间的协议。它最牛逼的地方在于简化了网络编程规范。例如:TCP和UDP的Socket服务。

Netty官网:http://netty.io/

通俗点理解:

Netty本身是用于快速构建服务端与客户端之间通信协议的框架。Netty在消息处理上使用责任链模式,用户可以轻松方便的对它进行扩展。官方也提供了大量的优秀的扩展。

Netty是一个NIO客户端服务器框架,可以快速,轻松地开发网络应用程序,如协议服务器和客户端。 它大大简化和简化了网络编程,如TCP和UDP套接字服务器。

“快速和容易”并不意味着结果应用程序将遇到可维护性或性能问题。 Netty已经仔细设计了从许多协议,如FTP,SMTP,HTTP和各种二进制和基于文本的遗留协议的实现获得的经验。 因此,Netty成功地找到了一种方法来实现易于开发,性能,稳定性和灵活性的应用程序。

现实应用中的一些问题

现在我们都有使用通用应用程序或库来相互通信。例如,我们经常使用HTTP客户端库从Web服务器检索信息,并通过Web服务调用远程过程调用。然而,通用协议或其实现有时不能非常好地伸缩。这就像我们不使用通用HTTP服务器来传输大型文件一样,电子邮件消息和即时消息,如金融信息和多人游戏数据。所需的是高度优化的协议实现,专用于这样的特殊目的。例如,您可能希望实现为基于AJAX的聊天应用程序,媒体流或大文件传输来优化的HTTP服务器。您甚至可以设计和实施一个完全符合您需求的全新协议。一个不可避免的情况是,当您要处理传统的这个协议时,要还确保与旧系统的互操作性。在这种情况下,应该想办法快速地实现该协议,而不牺牲应用程序的稳定性和性能。

解决办法

Netty致力于为快速开发可维护的高性能、高可扩展性协议服务器和客户端,提供异步事件驱动的网络应用程序框架和工具。

换句话说,Netty是一个NIO客户端服务器框架,可以快速,很容易地开发网络应用程序,如协议服务器和客户端。它大大简化和简化了网络编程,如:TCP和UDP套接字服务器开发。

一些开发者(或用户)可能已经找到声称具有相同优势的其他网络应用程序框架,但您可能想要问是什么使Netty与它们不同? 答案是Netty建立的哲学。Netty旨在提供(发布)的第一天起,在API和实施方面有着最舒适的体验。这不是有形的,但使用者都会意识感觉到,这个哲学将使你的开发更容易。


Netty教程

相关教程

更多

[Netty 1] 初识Netty

                    1. 简介 最早接触netty是在阅读Zookeeper源码的时候,后来看到Storm的消息传输层也由ZMQ转为Netty,所以决心好好来研究和学习一下netty这个框架。 Netty项目地址:http://netty.io/index.html Github项目: https://github.com/netty/netty Netty是一个异步的、事件驱动的网络应用框架,基于它能够快速开发高性
                

Netty源码分析

                    Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序[官方定义],整体来看其包含了以下内容:1.提供了丰富的协议编解码支持,2.实现自有的buffer系统,减少复制所带来的消耗,3.整套channel的实现,4.基于事件的过程流转以及完整的网络事件响应与扩展,5.丰富的example。本文并不对Netty实际使用中可能出现的问题做分析,只是从
                

Netty开发环境配置

                    
                

storm学习之Netty代替ZMQ

                    整理自 http://www.csdn.net/article/2014-08-04/2821018/2 消息队列现在是模块之间通信的非常通用的解决方案了。消息队列使得进程间的通信可以跨越物理机,这对于分布式系统尤为重要,毕竟我们不能假定进程究竟是部署在同一台物理机上还是部署到不同的物理机上。RabbitMQ是应用比较广泛的MQ 提到MQ,不得不提的是ZeroMQ。ZeroMQ封装了Socket,
                

Netty基于流的传输处理

                    ​在TCP/IP的基于流的传输中,接收的数据被存储到套接字接收缓冲器中。不幸的是,基于流的传输的缓冲器不是分组的队列,而是字节的队列。 这意味着,即使将两个消息作为两个独立的数据包发送,操作系统也不会将它们视为两个消息,而只是一组字节(有点悲剧)。 因此,不能保证读的是您在远程定入的行数据
                

Netty入门实例-时间服务器

                    
                

Netty入门实例-使用POJO代替ByteBuf

                    
                

在Twitter,Netty 4 GC开销降为五分之一

                    原文:http://www.infoq.com/cn/news/2013/11/netty4-twitter/  Netty项目在7月份发布了Netty 4的第一个版本,其性能的显著提升主要来源于垃圾收集开销的降低。在Twitter,Netty 4经过完善已经获得了5倍的性能提升,但也有一些代价。  Netty项目创始人和Twitter软件工程师Trustin Lee从2003年开始就一直编写网络
                

Netty入门实例-编写服务器端程序

                    
                

Nutch 教程

                    英文原文:NutchTutorial  来源地址:http://www.oschina.net/translate/nutch-tutorial                                         转自:http://www.cnblogs.com/AloneSword/p/3800696