《Netty核心原理剖与RPC实践》学习笔记
文章平均质量分 88
《Netty 核心原理剖与RPC实践》学习笔记
久违の欢喜
Stay hungry, Stay young
展开
-
08 开箱即用:Netty 支持哪些常用的解码器?
Netty 支持哪些常用的解码器?08 开箱即用:Netty 支持哪些常用的解码器?固定长度解码器 FixedLengthFrameDecoder通过构造函数设置固定长度的大小 frameLength,无论接收方一次获取多大的数据,都会严格按照 frameLength 进行解码。如果累积读取到长度大小为 frameLength 的消息,那么解码器认为已经获取到了一个完整的消息。如果消息长度小于 frameLeng原创 2023-04-03 09:44:14 · 304 阅读 · 0 评论 -
07 接头暗语:如何利用 Netty 实现自定义协议通信?
文章目录06 粘包拆包问题:如何获取一个完整的网络包?通信协议设计1. 魔数2. 协议版本号3. 序列化算法4. 报文类型5. 长度域字段6. 请求数据7. 状态8. 保留字段Netty 如何实现自定义通信协议抽象编码类抽象解码类通信协议实战06 粘包拆包问题:如何获取一个完整的网络包?通信协议设计所谓协议,就是通信双方事先商量好的接口暗语,在 TCP 网络编程中,发送方和接收方的数据包格式都是二进制,发送方将对象转化成二进制流发送给接收方,接收方获得二进制数据后需要知道如何解析成对象,所以协议是原创 2022-05-12 11:54:21 · 371 阅读 · 0 评论 -
06 粘包拆包问题:如何获取一个完整的网络包?
文章目录06 粘包拆包问题:如何获取一个完整的网络包?为什么有拆包/粘包MTU 最大传输单元和 MSS 最大分段大小滑动窗口Nagle 算法拆包/粘包的解决方案消息长度固定特定分隔符消息长度 + 消息内容06 粘包拆包问题:如何获取一个完整的网络包?为什么有拆包/粘包TCP 传输协议是面向流的,没有数据包界限。客户端向服务端发送数据时,可能将一个完整的报文拆分成多个小报文进行发送,也可能将多个报文合并成一个大的报文进行发送。因此就有了拆包和粘包。为什么会出现拆包/粘包现象呢?在网络通信的过程中,原创 2022-05-11 11:38:00 · 278 阅读 · 0 评论 -
05 服务编排层:Pipeline 如何协调各类 Handler ?
文章目录05 服务编排层:Pipeline 如何协调各类 Handler ?ChannelPipeline 概述ChannelHandler 接口设计事件传播机制异常传播机制异常处理的最佳实践05 服务编排层:Pipeline 如何协调各类 Handler ?ChannelPipeline 概述Pipeline 的字面意思是管道、流水线。它在 Netty 中起到的作用,和一个工厂的流水线类似。原始的网络字节流经过 Pipeline ,被一步步加工包装,最后得到加工后的成品。ChannelPipel原创 2022-05-10 17:07:38 · 376 阅读 · 0 评论 -
04 事件调度层:为什么 EventLoop 是 Netty 的精髓?
文章目录04 事件调度层:为什么 EventLoop 是 Netty 的精髓?Reactor 线程模型单线程模型多线程模型主从多线程模型Netty EventLoop 实现原理EventLoop 是什么Netty 如何实现 EventLoop任务处理机制EventLoop 最佳实践04 事件调度层:为什么 EventLoop 是 Netty 的精髓?Reactor 线程模型网络框架的设计离不开 I/O 线程模型,线程模型的优劣直接决定了系统的吞吐量、可扩展性、安全性等。目前主流的网络框架几乎都采用原创 2022-05-09 11:08:27 · 196 阅读 · 0 评论 -
03 引导器作用:客户端和服务端启动都要做些什么?
文章目录03 引导器作用:客户端和服务端启动都要做些什么?从一个简单的 HTTP 服务器开始服务端启动类服务端业务逻辑处理类引导器实践指南配置线程池单线程模式多线程模式主从多线程模式Channel 初始化设置 Channel 类型注册 ChannelHandler设置 Channel 参数端口绑定附录HTTP 客户端类客户端业务处理类03 引导器作用:客户端和服务端启动都要做些什么?从一个简单的 HTTP 服务器开始完整地实现一个高性能、功能完备、健壮性强的 HTTP 服务器非常复杂,本文仅为了方原创 2022-05-07 11:51:10 · 222 阅读 · 0 评论 -
02 纵览全局:把握 Netty 整体架构脉络
文章目录02 纵览全局:把握 Netty 整体架构脉络Netty 整体结构1. Core 核心层2. Protocol Support 协议支持层3. Transport Service 传输服务层Netty 逻辑架构网络通信层事件调度层服务编排层组件关系梳理Netty 源码结构Core 核心层模块Protocol Support 协议支持层模块02 纵览全局:把握 Netty 整体架构脉络Netty 整体结构Netty 结构一共分为三个模块:1. Core 核心层Core 核心层是 Net原创 2022-05-06 15:45:45 · 222 阅读 · 0 评论 -
01 初识 Netty:为什么 Netty 这么流行?
文章目录01 初识 Netty:为什么 Netty 这么流行?为什么选择 Netty?高性能,低延迟1. 同步阻塞 I/O(BIO)2. 同步非阻塞 I/O(NIO)3. I/O 多路复用4. 信号驱动 I/O5. 异步 I/O完美弥补 Java NIO 的缺陷更低的资源消耗网络框架的选型01 初识 Netty:为什么 Netty 这么流行?为什么选择 Netty?Netty 是一款用于高效开发网络应用的 NIO 网络框架,它大大简化了网络应用的开发过程。既然 Netty 是网络应用框架,那永远原创 2022-05-05 10:28:31 · 615 阅读 · 0 评论