Netty系列(一)Netty介绍和应用场景
写在前面:本文将完整记录自己学习Netty的过程,也希望通过这次尝试写好一个专栏,也算是对新的的学习方式的尝试吧。希望能够给自己或者他人提供一点帮助。如果文章中有错误的地方还请大家指出,我好及时改正。谢谢!加油!
1. Netty介绍
1)Netty是由JBOSS提供的一个Java开源框架,现为GitHub上的独立项目。
2)Netty是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络IO程序。
3)Netty主要针对TCP协议下,面向Client端的高并发应用,或者peer-to-peer场景下的大量数据持续传输的应用
4)Netty本质是一个NIO框架,适用于服务器通讯相关的多种应用场景
2.Netty的应用场景
2.1 互联网行业
1)互联网行业:在分布式系统中,各个节点之间需要远程服务调用,高性能的RPC框架必不可少,Netty作为异步高性能的通信框架,往往作为基础通信组件被这些RPC框架使用。
2)典型的应用有:阿里分布式服务框架Dubbo的RPC框架使用Dubbo协议进行节点间通信,Dubbo协议默认使用Netty作为基础通信组件,用于实现各节点之间的内部通信。
2.2游戏行业
1)无论是手游服务端还是大型的网络邮箱,Java语言得到了越来越广泛的应用
2)Netty作为高性能的基础通信组件,提供TCP/UDP和HTTP协议栈,方便定制和开发私有协议栈,账号登录服务器
3)地图服务器之间可以方便的通过Netty进行高性能的通信
2.3 大数据领域
1)经典的Hadoop的高性能通信和序列化组件Avro的RPC框架,默认采用Netty进行跨界点通信
2)它的Netty Service 基于Netty框架二次实现封装。