关于Netty的一些总结

28 篇文章 0 订阅
14 篇文章 0 订阅

netty

一,netty拷问:

  1. 本质:JBoss做的一个jar包;
  2. 目的:快速开发高性能,高可靠的网络服务器和客户端程序;
  3. 优点:提供异步的,事件驱动的网络应用程序框架和工具;

二,netty的基本信息:

  1. Netty就是基于java NIO技术封装的一套框架;(为什么要封装呢,因为原生的javaNIO试用起来没有那么方便,而且还有臭名昭著的bug,nettey把它封装后,提供了一个易于操作的使用模式和接口,用户使用起来也就便捷多了);
  2. Netty是最流行的NIO框架,其健壮性,功能,性能,可定制性和可扩展行都是首屈一指的;
  3. NIO并不是java独有的,NIO代表的是io多路复用,它是由操作系统提供的系统调用;
  4. NIO的全称是NoneBlocking IO,非阻塞IOS,那么NIO是怎么做到非阻塞的呢?它用的是事件机制.它可以用一个线程把Accept,读写操作,请求处理的逻辑全干了.如果什么事都没得做,它也不会死循环,它会将线程休眠起来,直到下一个事件来了再继续干活,这样的一个线程称之为NIO线程.

三,特性:

    设计

  • 统一的API,适用于不同的协议(阻塞和非阻塞)
  • 基于灵活,可扩展的事件驱动模型;
  • 高度可定制的线程模型;
  • 可靠的无连接Socket支持(UDP)

性能

  • 更好的吞吐量,低延迟;
  • 更省资源;
  • 尽量减少不必要的内存拷贝;

安全

  • 完整的SSL/TLS和STARTTLS的支持;
  • 能在Applet和Android的限制环境运行良好;

健壮性

  • 不再因过快,过慢或超负载连接导致OutOfMemoryError;
  • 不再有在高速网络环境下NIO读写频率不一致的问题;

易用

  • 完善的JavaDoc,用户指南和样例;
  • 简洁简单;
  • 仅依赖于JDK1.5

四,应用场景:

  • 互联网行业:在分布式系统中,各个节点之间需要远程服务调用,高性能的RPC框架必不可少,Netty作为异步高新能的通信框架,往往作为基础通信组件被这些RPC框架使用,典型的应用有:阿里分布式服务框架Dubbo的RPC框架使用Dubbo协议进行节点间通信,Dubbo协议默认使用Netty作为基础通信组件,用于实现各进程节点之间的内部通信;
  • 游戏行业:无论是手游服务端还是大型的网络游戏,Java语言得到了越来越广泛的应用.Netty作为高性能的基础通信组件,它本身提供了TCP/UDP和HTTP协议栈,非常方便定制和开发私有协议栈.账号登录服务器,地图服务器之间可以方便的通过Netty进行高性能的通信;
  • 大数据领域:经典的Hadoop的高性能通信和序列化组件Avro的RPC框架,默认采用Netty进行跨界点通信,它的Netty Service基于Netty框架二次封装实现;
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值