从零学习netty网络IO通讯框架开发

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 的异步高性能、高可靠性和高成熟度的优点,使它在通信行业得到了大量的应用。
从零学习netty网络IO通讯框架开发_第1张图片
目录 :

1、bio学习回顾 原理分析主要有哪些缺陷和阻塞点

2、Java nio学习 回顾主要有哪些缺陷和阻塞点

3、netty 之Reactor编程模型
从零学习netty网络IO通讯框架开发_第2张图片
4、netty3服务端和客户端编写了 解它的基本编程模型和事件分析。

5、netty5服务端和客户端编写 了 解它的基本编程模型和事件分析。

6、netty字符串发送和遇到TCP粘包问题分析和解决方法。

7、通过固定长度和分隔符解决TCP粘包问题,Netty工具类的介绍

8、netty自定义消息协议和FrameDecoder讲解,自定义消息协议原理分析。

9、自定义消息和messagePack流包分析和应用讲解。

10、关于零拷贝一些知识从DNA到CPU到程序应用层分析,Bytebuf和文件零拷贝方法。

11、byteBuf和内存管理的一些理论知识点。

12、protocol序列化与反序列化介绍及JDK序列化比较。protocol应用等。

13、socketChannel心跳检查和channel组管理介绍。

14、手写一个基于Netty + Swing MI聊天之 channel Session管理。

15、手写一个基于Netty + Swing MI聊天及Netty实现。

16、在netty中实现http服务器和webSocket实现。

17、项目实战 基于Netty实现一个Rpc 及dubbo原理分析 1

18、项目实战 基于Netty实现一个Rpc 及原理分析-集成Springboot 客户端和服务器

19、项目实战 基于Netty实现一个Rpc 及原理分析 -动态代理等原理实现

20、项目实战 基于Netty实现一个Rpc .

扩展阅读:https://www.roncoo.com/view/1245965196600606722

你可能感兴趣的:(从零学习netty网络IO通讯框架开发)