Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架。可以快速轻松地开发诸如协议服务器和客户端之类的网络应用程序。它大大简化了网络编程流程,如TCP和UDP套接字服务器。 性能 更好的吞吐量, 更低的延迟 资源消耗减少 最小化不必要的内存副本 netty可以运用在那些领域?
1.互联网行业
典型的应用有:阿里分布式服务框架 Dubbo 的 RPC 框架使用 Dubbo 协议进行节点间通信,Dubbo 协议默认使用 Netty 作为基础通信组件,用于实现各进程节点之间的内部通信。它的架构图如下: 其中,服务提供者和服务消费者之间,服务提供者、服务消费者和性能统计节点之间使用 Netty 进行异步/同步通信。 除了 Dubbo 之外,淘宝的消息中间件 RocketMQ 的消息生产者和消息消费者之间,也采用 Netty 进行高性能、异步通信。
2.游戏行业
无论是手游服务端、还是大型的网络游戏,Java 语言得到了越来越广泛的应用。Netty 作为高性能的基础通信组件,它本身提供了 TCP/UDP 和 HTTP 协议栈,非常方便定制和开发私有协议栈。账号登陆服务器、地图服务器之间可以方便的通过 Netty 进行高性能的通信。
3.大数据领域
经典的 Hadoop 的高性能通信和序列化组件 Avro 的 RPC 框架,默认采用 Netty 进行跨节点通信,它的 Netty Service 基于 Netty 框架二次封装实现。 大数据计算往往采用多个计算节点和一个/N个汇总节点进行分布式部署,各节点之间存在海量的数据交换。由于 Netty 的综合性能是目前各个成熟 NIO 框架中最高的,因此,往往会被选中用作大数据各节点间的通信。
4.通信行业
Netty 的异步高性能、高可靠性和高成熟度的优点,使它在通信行业得到了大量的应用。
489ae19bbdf64e4aba330f42e380094a.png
课程目录 :
-
bio学习回顾 原理分析主要有哪些缺陷和阻塞点
-
Java nio学习 回顾主要有哪些缺陷和阻塞点
-
netty 之Reactor编程模型
cc4adc17e93d48fb8c6259933aba383b.jpg -
netty3服务端和客户端编写了 解它的基本编程模型和事件分析。
-
netty5服务端和客户端编写 了 解它的基本编程模型和事件分析。
-
netty字符串发送和遇到TCP粘包问题分析和解决方法。
-
通过固定长度和分隔符解决TCP粘包问题,Netty工具类的介绍
-
netty自定义消息协议和FrameDecoder讲解,自定义消息协议原理分析。
-
自定义消息和messagePack流包分析和应用讲解。
-
关于零拷贝一些知识从DNA到CPU到程序应用层分析,Bytebuf和文件零拷贝方法。
-
byteBuf和内存管理的一些理论知识点。
-
protocol序列化与反序列化介绍及JDK序列化比较。protocol应用等。
-
socketChannel心跳检查和channel组管理介绍。
-
手写一个基于Netty + Swing MI聊天之 channel Session管理。
-
手写一个基于Netty + Swing MI聊天及Netty实现。
-
在netty中实现http服务器和webSocket实现。
-
项目实战 基于Netty实现一个Rpc 及dubbo原理分析 1
-
项目实战 基于Netty实现一个Rpc 及原理分析-集成Springboot 客户端和服务器
-
项目实战 基于Netty实现一个Rpc 及原理分析 -动态代理等原理实现
-
项目实战 基于Netty实现一个Rpc
网友评论