背景介绍
为什么会出现Netty
我们平时在写网络程序的时候会选择一些通用的程序库来实现网络上相互的交流。例如,可以用某些HTTP客户端库来请求 web 服务器上的资源,通过web services远程过程调用。就拿我们非常熟悉的HTTP协议来说,传输大文件,E-Mail和实时的信息(财经信息,多人游戏数据等)这些个需求就不能很好的满足。所以,我们需要针对特殊业务高度优化的协议实现。比如,针对基于AJAX的聊天程序的优化,针对媒体流的优化,针对大文件传输的优化的HTTP服务器。你甚至要设计和实现一个全新的协议满足你的需求。于是就出现了一个问题:如何快速的开发这样的程序,而且还保证程序的稳定性和可用性。
解决方案
于是就有了Netty。Netty是异步的,基于事件响应的网络应用程序框架,可以快速开发出可维护的、高性能的、可伸缩的服务程序和客户端程序。
Netty是一个基于NIO的服务器和客户端框架,可以快速又简单的开发出网络程序。
快速和简单不是意味着开发出来的程序会有维护和性能方面的问题,Netty的设计非常细节,它借鉴了大部分协议的优点,像FTP, SMTP, HTTP以及其他的二进制或者文本的协议。使它可以轻松的开发程序,过程中不用过多的在开发时间、性能、稳定性、可扩展之间做选择。
和其他网络应用程序框架相比,Netty有它独有的设计哲学。它会让你在开发过程中感觉到非常舒适的体验。这种东西是说不清的,但你一旦开始使用它,你就会感觉到。
下面,让我们开始使用Netty吧。