美文网首页
Netty 概要

Netty 概要

作者: yongguang423 | 来源:发表于2018-09-29 06:52 被阅读5次

简介

Netty 是由JBOSS 提供的一个java 开源框架。Netty 提供异步的、事件驱动的网络应用
程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
也就是说,Netty 是一个基于NIO 的客户、服务器端编程框架,使用Netty 可以确保你
快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。Netty 相当
简化和流线化了网络应用的编程开发过程,例如,TCP 和UDP 的socket 服务开发。
“快速”和“简单”并不用产生维护性或性能上的问题。Netty 是一个吸收了多种协议的实
现经验,这些协议包括FTP,SMTP,HTTP,各种二进制,文本协议,并经过相当精心设计的项
目,最终,Netty 成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,
稳定性和伸缩性。
Netty 从4.x 版本开始,需要使用JDK1.6 及以上版本提供基础支撑。
在设计上:针对多种传输类型的统一接口 - 阻塞和非阻塞;简单但更强大的线程模型;
真正的无连接的数据报套接字支持;链接逻辑支持复用;
在性能上:比核心 Java API 更好的吞吐量,较低的延时;资源消耗更少,这个得益于
共享池和重用;减少内存拷贝
在健壮性上:消除由于慢,快,或重载连接产生的 OutOfMemoryError;消除经常发现
在 NIO 在高速网络中的应用中的不公平的读/写比
在安全上:完整的 SSL / TLS 和 StartTLS 的支持
且已得到大量商业应用的真实验证,如:Hadoop 项目的Avro(RPC 框架)、Dubbo、Dubbox
等RPC框架。
Netty的官网是:http://netty.io
有三方提供的中文翻译Netty用户手册(官网提供源信息):http://ifeve.com/netty5-user-guide/

Netty架构

Netty架构

线程模型

线程模型

Netty中支持单线程模型,多线程模型,主从多线程模型。

单线程模型

在ServerBootstrap调用方法group的时候,传递的参数是同一个线程组,且在构造线程组的时候,构造参数为1,这种开发方式,就是一个单线程模型。
个人机开发测试使用。不推荐。

多线程模型

在ServerBootstrap调用方法group的时候,传递的参数是两个不同的线程组。负责监听的acceptor线程组,线程数为1,也就是构造参数为1。负责处理客户端任务的线程组,线程数大于1,也就是构造参数大于1。这种开发方式,就是多线程模型。
长连接,且客户端数量较少,连接持续时间较长情况下使用。如:企业内部交流应用。

主从多线程模型

在ServerBootstrap调用方法group的时候,传递的参数是两个不同的线程组。负责监听的acceptor线程组,线程数大于1,也就是构造参数大于1。负责处理客户端任务的线程组,线程数大于1,也就是构造参数大于1。这种开发方式,就是主从多线程模型。
长连接,客户端数量相对较多,连接持续时间比较长的情况下使用。如:对外提供服务的相册服务器。

相关文章

  • Netty 概要

    简介 Netty 是由JBOSS 提供的一个java 开源框架。Netty 提供异步的、事件驱动的网络应用程序框架...

  • PoolThreadCache

    Netty-PoolThreadCache 概要 PoolThreadCache顾名思义,就是跟线程绑定的cach...

  • Java读源码之Netty深入剖析[百度网盘分享]

    第1章 课程介绍 介绍本课程需要的前提知识和内容概要 1-1 Netty深入剖析 第2章 Netty基本组件 使用...

  • PoolChunkList

    概要 在Netty中, PoolArena将内存分为很多PoolChunk进行管理. 通过多个PoolChunkL...

  • netty-channel篇

    一、概要 上一篇把netty的基本思路介绍了一下,从这一篇文章开始我们将把netty的每一个组件分别进行拆解分析。...

  • 0.Netty总结前提概要

    Netty学习笔记总结:因为个人喜欢先看视频学习,最后深入的时候会考虑买书或者看官网资料。学习资源有免费的有要花钱...

  • 对象池

    概要 看到现在,Netty之设计精妙,令人感叹。优化至极,令人发指。在高并发场景下,对象的分配的损耗是很大的,特别...

  • Netty 源码解析(五): Netty 的线程池分析

    Netty 源码解析(一): 开始 Netty 源码解析(二): Netty 的 Channel Netty 源码...

  • Netty系列之源码解析(一)

    Netty源码解析(一):开始 当前:Netty 源码解析(二): Netty 的 Channel Netty 源...

  • JAVA-每日一面 2022-01-24

    说说Netty 线程模型和 Netty 的零拷贝 Netty 线程模型首先,Netty 使用 EventLoop ...

网友评论

      本文标题:Netty 概要

      本文链接:https://www.haomeiwen.com/subject/exxvoftx.html