目录
1.学习Netty的要求
已经掌握了Java编程、主要技术够长:Java OOP编程、Java多线程编程、Java IO编程、Java网络编程、常用的设计模式(比如观察者模式、命令模式、职责链模式)、常用的数据结构(比如链表)
2.Netty的介绍
Netty是由JBoss提供的一个Java开源框架,现为Github上的独立项目。
Netty是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络IO程序。
Netty主要针对在TCP协议下,面向client端编程的高并发应用,或者Peer-to-Peer场景下的大量数据持续传输的应用。
Netty本质是一个NIO框架,适用于服务端通讯相关的多种应用场景。
要透彻理解Netty,需要先学习NIO,这样才能阅读Netty的源码。
3.Netty的应用场景
互联网行业
在分布式系统中,各个节点之间需要远程服务调用,高性能的RPC框架必不可少,Netty作为异步高性能的通讯框架,往往作为基础通信组件被RPC框架使用。
典型应用有:阿里分布式服务框架Dubbo的RPC框架使用Dubbo协议进行节点间通信,Dubbo协议模式使用Netty作为基础通讯组件
游戏行业
大数据领域
经典的Hadoop高性能通信和序列化组件Avro,默认使用Netty进行跨节点通信
其他使用Netty的开源项目
https://netty.io/wiki/related-projects.html
4.Netty的学习参考资料
《Netty in Action》
《Netty权威指南》