![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netty
文章平均质量分 92
月东坡半
冲!
展开
-
Netty——简单Dubbo实现
JAVA后端开发知识总结(持续更新…)Netty——文章目录Netty——一、RPC一、RPCRPC(Remote Procedure Call):远程过程调用,是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。两个或多个应用程序分布在不同的服务器上,但它们之间的调用都像是在本地方法调用一样。RPC调用流程:RPC 的目标是将 2 - 8 步都封装起来:服务消费方(client)以本地调用方式调用服务.原创 2021-05-15 11:01:20 · 367 阅读 · 1 评论 -
Netty——源码解析
JAVA后端开发知识总结(持续更新…)Netty——文章目录Netty——零、前言一、Netty服务器启动源码零、前言在 io.netty.example 包下,有很多 Netty 源码案例,可以用来分析。一、Netty服务器启动源码源码需要剖析到 Netty 中调用 doBind 方法,追踪到 NioServerSocketChannel 的 doBind。同时要 Debug 程序到 NioEventLoop 类的 run 方法,无限循环,在服务器端运行。...原创 2021-05-13 21:33:07 · 1430 阅读 · 0 评论 -
Netty——TCP粘包和拆包
JAVA后端开发知识总结(持续更新…)Netty——TCP粘包和拆包文章目录Netty——TCP粘包和拆包一、概述二、TCP粘包演示三、解决方案——自定义协议一、概述 对于TCP,发送端为了更高效地发送多个发给接收端的包,使用了优化方法——Nagle算法,将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样做虽然提高了效率,但是接收端就难于分辨出完整的数据包了,因为面向流的通信是无消息保护边界的。在接收端处理消息边界问题,就是粘包、拆包问题。粘包拆包情况:二、TC.原创 2021-05-11 22:08:10 · 145 阅读 · 0 评论 -
Netty——Handler链调用机制及编解码器
JAVA后端开发知识总结(持续更新…)Netty——Handler链调用机制及编解码器文章目录Netty——Handler链调用机制及编解码器一、Netty的入站和出站机制1.1 概述1.2 Handler 编解码器1.2.1 ByteToMessageDecoder1.2.2 ReplayingDecoder1.2.3 HttpObjectDecoder二、Handler链调用机制2.1 服务端2.2 客户端2.3 结果一、Netty的入站和出站机制1.1 概述 ChannelHand.原创 2021-05-11 20:54:42 · 728 阅读 · 0 评论 -
Netty——Protobuf序列化协议
JAVA后端开发知识总结(持续更新…)Netty——Google Protobuf序列化协议文章目录Netty——Google Protobuf序列化协议一、编码与解码1.1 概述1.2 Protobuf序列化协议1.2.1 Protobuf 格式1.2.2 Protobuf 文件实例1.2.3 Netty 中的使用参考文档一、编码与解码1.1 概述 编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时需要编码,接收数据时需要解码。codec(编解码器) 由dec.原创 2021-05-11 19:08:25 · 491 阅读 · 2 评论 -
Netty——核心组件
JAVA后端开发知识总结(持续更新…)Netty——文章目录Netty——一、Netty核心组件1.1 Bootstrap 和 ServerBootstrap一、Netty核心组件1.1 Bootstrap 和 ServerBootstrap一个 Netty 应用通常由一个 Bootstrap 开始,主要作用是配置整个 Netty 程序,串联各个组件。Netty 中 Bootstrap 类是客户端程序的启动引导类,ServerBootstrap 是服务端启动引导类。...原创 2021-05-10 21:06:29 · 151 阅读 · 1 评论 -
Netty——群聊系统与心跳机制与WebSocket开发
JAVA后端开发知识总结(持续更新…)Netty——文章目录Netty——一、Netty核心组件1.1 Bootstrap 和 ServerBootstrap1.2 Future 和 ChannelFuture1.3 Channel1.4 Selector1.5 ChannelHandler及其实现类1.6 Pipeline 和 ChannelPipeline二、EventLoop组件2.1 ChannelHandlerContext2.2 ChannelOption2.3 EventLoopGr.原创 2021-05-10 21:03:14 · 458 阅读 · 0 评论 -
Netty——入门+任务队列+异步模型
JAVA后端开发知识总结(持续更新…)Netty——文章目录Netty——一、Netty入门1.1 服务端1.2 客户端实现二、案例源码分析2.1 服务端三、任务队列 TaskQueue3.1 三种使用场景一、Netty入门要求:引入Netty:1.1 服务端创建BossGroup 和 WorkerGroup创建两个线程组,bossGroup 和 workerGroup;bossGroup 只是处理连接请求,真正的和客户端业务处理,会交给 workerGrou.原创 2021-05-10 15:53:19 · 349 阅读 · 0 评论 -
Netty——Reactor模式及Netty模型
JAVA后端开发知识总结(持续更新…)Netty——文章目录Netty——一、Netty概述1.1 NIO的问题1.2 Netty简介二、线程模型2.1 传统阻塞I/O模型2.2 Reactor模式2.2.1 单Reactor + 单线程2.2.2 单Reactor + 多线程2.2.3 主从Reactor + 多线程一、Netty概述1.1 NIO的问题NIO 的类库和 API 繁杂,使用麻烦。对多线程和网络编程需要非常熟悉,才能编写出高质量的 NIO 程序。容易遇到客户.原创 2021-04-28 15:18:27 · 410 阅读 · 0 评论 -
Netty——JAVA的三种网络编程模型
JAVA后端开发知识总结(持续更新…)Netty文章目录Netty一、概述1.1 底层本质1.2 应用场景一、概述1.1 底层本质Netty 是由 JBOSS 提供的一个 Java 开源框架,现为 Github 上的独立项目。Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络 IO 程序。Netty 主要针对在 TCP 协议下,面向 Client 端的高并发应用,或者 Peer-to-Peer 场景下的大量数据持续传输的应用。Netty 本质是.原创 2021-04-27 20:56:24 · 268 阅读 · 0 评论 -
NIO与零拷贝
JAVA后端开发知识总结(持续更新…)NIO与零拷贝文章目录NIO与零拷贝一、零拷贝1.1 概述1.2 拷贝方式一、零拷贝1.1 概述零拷贝: 从OS的角度来看,文件的传输不存在CPU的拷贝,只存在DMA拷贝。在内核缓冲中,不存在重复数据(即只有kernel buffer中存在数据)。在Java程序中,常用的零拷贝有 mmap(内存映射)和 sendFile。零拷贝是网络编程和性能优化的关键。 零拷贝不仅带来更少的数据复制,还能减少线程的上下文切换,减少CPU缓存伪共享以及无.原创 2021-04-27 20:51:33 · 167 阅读 · 0 评论