什么时候会用到netty开发服务器?

一、定义

Netty是异步的 事件驱动的基于NIO实现的开源框架,用以快速轻松的实现高性能、高可靠性的网络客户端和服务器端最基础的通信组件,通俗的讲:Netty是Jboss开发做的JAR包,很好的封装了Socket,处理网络通信的一个开源通信框架。

二、Netty的特性

1)设计

统一的API,适用于不同的协议(阻塞和非阻塞)

基于灵活、可扩展的事件驱动模型

高度可定制的线程模型

可靠的无连接数据Socket支持(UDP)

2)性能

更好的吞吐量,低延迟

更省资源

尽量减少不必要的内存拷贝

3)安全

完整的SSL/TLS和STARTTLS的支持

能在Applet与Android的限制环境运行良好

4)健壮性

不再因过快、过慢或超负载连接导致OutOfMemoryError

不再有在高速网络环境下NIO读写频率不一致的问题

5)易用

完善的JavaDoc,用户指南和样例

简洁简单

仅依赖于JDK1.5

三、Netty应用场景

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

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

3、大数据领域
经典的 Hadoop 的高性能通信和序列化组件 Avro 的 RPC 框架,默认采用 Netty 进行跨节点通信,它的 Netty Service 基于 Netty 框架二次封装实现。大数据计算往往采用多个计算节点和一个/N个汇总节点进行分布式部署,各节点之间存在海量的数据交换。由于 Netty 的综合性能是目前各个成熟 NIO 框架中最高的,因此,往往会被选中用作大数据各节点间的通信。

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

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

四、技术层应用

1、Fundamental
Echo ‐ 最基本的客户端和服务器
Discard ‐ 查看如何异步发送无限数据流,而不淹没写入缓冲区
Uptime ‐ 实现自动重新连接机制

2.Text protocols
Telnet ‐ 一个经典的基于行的网络应用程序
Quote of the Moment ‐ 广播一个UDP / IP包
SecureChat ‐从Telnet示例派生而来的基于tls的聊天服务器。
Binary protocols

3、ObjectEcho ‐ Java序列化交换
Factorial ‐ 使用自定义二进制协议编写有状态客户端和服务器
WorldClock ‐ 使用谷歌协议缓冲集成快速协议输入

4、HTTP
Snoop ‐ 构建自己的轻量级HTTP客户机和服务器
File server ‐ HTTP中的异步大型文件流
Web Sockets (Client & Server) ‐ 使用Web套接字向HTTP添加双向全双工通信通道
SPDY (Client & Server) ‐ 实现的SPDY协议
CORS demo ‐ 实现跨源资源共享

5、Advanced
Proxy server ‐ 编写一个高效的tunneling代理服务器。
Port unification ‐ 在一个TCP/IP端口上运行具有不同协议的服务
UDT(基于UDP的数据传输协议)
Byte streams ‐ 在类似tcp的字节流模式中使用UDT字节流在对称的对等会合连接模式
Message flow ‐ 在类似于uddi的消息传递模式中使用UDT消息流在对称的对等会合连接模式

五、参考
Netty概念、特性以及应用场景
Netty 一般适用场景

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值