Netty是什么框架

乐多 问答 2022-03-08 21:32:40 阅读(...)

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

Netty 是一个致力于创建高性能网络应用程序的成熟的 IO 框架,封装了 Java NIO 那些复杂的底层细节,使用 Netty 可以定制编解码协议,实现特定协议的服务器。Netty 支持快速、轻松地开发网络应用程序,如协议服务器和客户端,大大简化了网络编程,具有易用、健壮、安全、高效的特点。

Netty

使用 Netty 能够做什么

  • 开发异步、非阻塞的 TCP 网络应用程序;
  • 开发异步、非阻塞的 UDP 网络应用程序;
  • 开发异步文件传输应用程序;
  • 开发异步 HTTP 服务端和客户端应用程序;
  • 提供对多种编解码框架的集成,包括谷歌的 Protobuf、Jbossmarshalling、Java 序列化、压缩编解码、XML 解码、字符串编解码等,这些编解码框架可以被用户直接使用;
  • 提供形式多样的编解码基础类库,可以非常方便的实现私有协议栈编解码框架的二次定制和开发;
  • 基于职责链模式的 Pipeline-Handler 机制,用户可以非常方便的对网络事件进行拦截和定制;
  • 所有的 IO 操作都是异步的,用户可以通过 Future-Listener 机制主动 Get 结果或者由 IO 线程操作完成之后主动 Notify 结果,用户的业务线程不需要同步等待;
  • IP 黑白名单控制;
  • 打印消息码流;
  • 流量控制和整形;
  • 性能统计。

Netty 应用场景

互联网行业

随着网站规模的不断扩大,系统并发访问量也越来越高,传统基于 Tomcat 等 Web 容器的垂直架构已经无法满足需求,需要拆分应用进行服务化,以提高开发和维护效率。从组网情况看,垂直的架构拆分之后,系统采用分布式部署,各个节点之间 需要远程服务调用,高性能的 RPC 框架必不可少,Netty 作为异步高性能的通信框架,往往作为基础通信组件被这些 RPC 框架使用。

游戏行业

无论是手游服务端、还是大型的网络游戏,Java 语言得到了越来越广泛的应用。Netty 作为高性能的基础通信组件,它本身提供了 TCP/UDP 和 HTTP 协议栈,非常方便定制和开发私有协议栈。账号登陆服务器、地图服务器之间可以方便的通过 Netty 进行高性能的通信。

大数据领域

经典的 Hadoop 的高性能通信和序列化组件 Avro 的 RPC 框架,默认采用 Netty 进行跨节点通信,它的 Netty Service 基于 Netty 框架二次封装实现。

大数据计算往往采用多个计算节点和一个/N 个汇总节点进行分布式部署,各节点之间存在海量的数据交换。由于 Netty 的综合性能是目前各个成熟 NIO 框架中最高的,因此,往往会被选中用作大数据各节点间的通信。

企业软件

企业和 IT 集成需要 ESB,Netty 对多协议支持、私有协议定制的简洁性和高性能是 ESB RPC 框架的首选通信组件。事实上,很多企业总线厂商会选择 Netty 作为基础通信组件,用于企业的 IT 集成。

通信行业

Netty 的异步高性能、高可靠性和高成熟度的优点,使它在通信行业得到了大量的应用。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 微信 WeChat

    微信不能发图片是什么原因

    微信图片发不出去的原因有网络连接有问题;微信储存空间不够,需要对缓存进行清理;微信版本过低,可以对微信版本进行检测升级即可;当微信和其余新软件矛盾时;图片原文件已删除;某段时间内消息过多;微信没有获取手机的访问相册权限导,将其打开即可。
  • 蓝牙 Bluetooth

    蓝牙PIN码是什么

    蓝牙匹对时出现的PIN就是密码的意思,需要输入密码;一般蓝牙的初始密码都是比较简单的,大多数默认的配对密码会是0000或1234或1111,可根据蓝牙说明书上指示的PIN密码连接。
  • Trello

    Trello是什么

    Trello是一款免费的网络应用程序,常用来作为网络版的项目管理软件。但在其主要开发者周思博看来,Trello是一个“水平化”应用,即它的使用并不需要专业知识,各行各业的人都可以找到Trello的用途。
  • Windows 7 操作系统

    Windows 7是什么

    Windows 7是微软于2009年推出的电脑操作系统,供个人、家庭及商业使用,一般安装于台式机、笔记本电脑、平板电脑、多媒体中心等。Windows 7是Windows Vista的改良版。
  • AutoRun

    自动播放是什么

    自动播放(AutoRun、AutoPlay)是微软窗口系统的组件,其内容标示着系统在搜索到设备时可采取的行动。自动播放在Windows 95时首度露面,目的是帮助用户正确执行光盘上制作者想要执行的文件,另外自动播放也能透过双击我的电脑内的设备图标启动自动播放。
  • Windows shell

    Windows shell是什么

    Windows Shell是Microsoft Windows操作系统的图形用户界面。Windows Shell易于识别的元素包括桌面、任务栏、开始菜单、任务切换器和自动播放等特征。