Netty原理分析
从基本的NIO到Netty原理的介绍,再到实战如何使用Netty
三木加两木
2021加油!拿到大厂offer!!!
展开
-
Netty原理详解系列(六)---Netty核心组件与基础应用
文章目录1.概述2.Netty核心组件2.1 EventLoop2.2 Channel2.3 ChannelPipeline2.4 ChannelFuture3. 基础应用4. 后续1.概述通过上一篇博客《Netty原理解析系列(五)—Netty线程模型》中了解了Netty的线程模型,对Netty的整体架构有了一定的认识。这篇文章将介绍Netty相关的核心组件,并通过一些简单的demo来了解如何使用Netty。2.Netty核心组件2.1 EventLoop上一篇博客的简单介绍了一下这个组件,它是原创 2020-10-20 20:45:56 · 444 阅读 · 0 评论 -
Netty原理详解系列(五)---Netty线程模型
文章目录1.概述2.Reactor模型2.1 单Reactor单线程模型2.2 单Reactor多线程模型2.3 主从Reactor多线程模型3.Netty线程模型EventLooppipeline4.后续1.概述通过前4章的学习,已经掌握了NIO的使用以及原理。从本章开始学习Netty,它在JAVA NIO基础之上做了一层封装,把注册、选择器刷新轮询等操作封装到了Netty底层。这种封装会更利于简化使用。但同时加大了对Netty的学习理解难度。所在在进入Netty使用细节之前,必须得先了解Netty整原创 2020-10-18 14:50:18 · 983 阅读 · 0 评论 -
Netty原理详解系列(四)---NIO实战之Http服务
文章目录1.概述2.Http请求与响应流程3.Http协议报文3.1请求报文(Request)3.2响应报文(response)4.简单的http服务5.结果展示6.后续1.概述在上一篇博客《Netty原理详解系列(三)—NIO实战之心跳服务》中完成了NIO的第一个实战项目,相信对NIO的使用有了一定程度上的了解。但是上一篇博客中的心跳服务的流程却不适用于其他的情况,心跳服务中所有的读写和业务操作几乎是没有延迟的,单个线程足够了。而当我们要处理的业务是一个非常耗时操作如:查询数据库。 这将导致所有请求都原创 2020-10-15 18:59:25 · 825 阅读 · 6 评论 -
Netty原理详解系列(三)---NIO实战之心跳服务
文章目录1.概述2.心跳服务3.服务端实现4. 客户端实现5.总结1.概述Netty原理详解系列的前两篇文章介绍了NIO中的三个重要的组件,有了理论的基础,这篇博客就带着大家实现一个简单的心跳服务。2.心跳服务在类似RPC(远程过程调用)场景中为了保证传输的效率,通常情况下会采用长链接,而长链接的保持即通过定时心跳实现。类似场景在消息推送服务中也是非常常见。所以心跳服务是网络编程中的基础且普遍的应用。3.服务端实现服务端主要用于接收客户端的请求,并且接收客户端的心跳请求,进行响应。服务端流程说原创 2020-10-13 13:57:32 · 1222 阅读 · 1 评论 -
Netty原理详解系列(二)---NIO中的Selector
文章目录1.概述2.选择器核心组件2.1 **SelectableChannel**2.2 Selector2.3 SelectionKey3.代码演示4. 后续1.概述在上一篇博客《Netty原理详解系列(一)—NIO中的Buffer&Chanel》介绍了NIO中的两个重要组件Buffer和Chanel,这篇博客将介绍第三个重要的组件Selector多路复用选择器。如果没有多路复用选择器,那么每个管道都需要一个线程来维护,一直阻塞着等待着消息。而有了多路复用选择器,则需要将多个管道都注册到这原创 2020-10-06 15:01:13 · 704 阅读 · 0 评论 -
Netty原理详解系列(一)---NIO中的Buffer&Chanel
文章目录1.概述2.缓冲区Buffer定义3.Buffer内部结构4.Buffer常用的操作4.1 allocate4.2 wrap4.3 put4.4 flip4.5 get4.6 mark4.7 reset4.8 clear4.9 rewind4.10 remaining5. chanel5.1 FileChannel 文件管道5.2 DatagramChannel UDP套接字管道5.3 TCP套接字管道6.后续1.概述在BIO API中是通过InputStream 与outPutStream 两原创 2020-10-04 11:45:14 · 1591 阅读 · 4 评论