微服务框架概览之 Netty

Netty 是什么

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

Netty 架构图

Netty 架构图

为什么选择Netty

通过对Netty的分析,我们将它的优点总结如下:
1) API使用简单,开发门槛低;
2) 功能强大,预置了多种编解码功能,支持多种主流协议;
3) 定制能力强,可以通过ChannelHandler对通信框架进行灵活的扩展;
4) 性能高,通过与其它业界主流的NIO框架对比,Netty的综合性能最优;
5) 成熟、稳定,Netty修复了已经发现的所有JDK NIO BUG,业务开发人员不需要再为NIO的BUG而烦恼;
6) 社区活跃,版本迭代周期短,发现的BUG可以被及时修复,同时,更多的新功能会被加入;
7) 经历了大规模的商业应用考验,质量已经得到验证。在互联网、大数据、网络游戏、企业应用、电信软件等众多行业得到成功商用,证明了它可以完全满足不同行业的商业应用。

Netty的特性

设计
–统一的API,适用于丌同的协议(阻塞和非阻塞)
–基于灵活、可扩展的事件驱动模型
–高度可定制的线程模型
–可靠的无连接数据Socket支持(UDP)
性能
–更好的吞吐量,低延迟
–更省资源
–尽量减少丌必要的内存拷贝
安全
–完整的SSL/ TLS和STARTTLS的支持
–能在Applet不谷歌Android的限制环境运行良好
健壮性
–不再因过快、过慢或超负载连接导致OutOfMemoryError
–不再有在高速网络环境下NIO读写频率不一致的问题
易用
–完善的Java doc,用户指南和样例
–简洁简单
–仅依赖于JDK1.5

Netty数据流分析

服务器启动
服务器主通道监听
服务器子通道开通
客户端启动
客户端主通道监听
客户端子通道开通

框架比较

Netty VS Mina

Netty基于Pipeline处理,Mina基于Filter过滤
Netty的事件驱动模型具有更好的扩展性和易用性
Https,SSL,PB,RSTP,Text &Binary等协议支持
Netty中UDP传输有更好的支持
官方测试Netty比Mina性能更好

参考链接

http://netty.io/index.html

转载于:https://www.cnblogs.com/corlin/p/microservice_netty.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值