netty
文章平均质量分 92
netty
微笑看你哭
这个作者很懒,什么都没留下…
展开
-
Netty学习——EventLoop
EventLoopNetty 高性能的奥秘在于其 Reactor 线程模型。 EventLoop 是 Netty Reactor 线程模型的核心处理引擎,那么它是如何高效地实现事件循环和任务处理机制的呢?Reactor 线程模型关于Reactor线程模型前面已经学习过了,分成单线程模型、多线程模型、主从多线程模型。我们再看下Reactor 线程模型运行机制的四个步骤,分别为连接注册、事件轮询、事件分发、任务处理,如下图所示。连接注册:Channel 建立后,注册至 Reactor 线程中的原创 2021-03-03 16:26:39 · 2861 阅读 · 0 评论 -
Netty学习——客户端和服务端的启动入门
简单的 HTTP 服务器HTTP 服务器是我们平时最常用的工具之一。同传统 Web 容器 Tomcat、Jetty 一样,Netty 也可以方便地开发一个 HTTP 服务器。这里我们只实现最基本的请求-响应的流程:搭建 HTTP 服务器,配置相关参数并启动。从浏览器或者终端发起 HTTP 请求。成功得到服务端的响应结果。Netty 的模块化设计非常优雅,客户端或者服务端的启动方式基本是固定的。作为开发者来说,只要照葫芦画瓢即可轻松上手。大多数场景下,你只需要实现与业务逻辑相关的一系列 Chan原创 2021-03-01 14:59:09 · 444 阅读 · 0 评论 -
Netty学习——整体架构
Netty 整体结构Netty 是一个设计非常用心的网络基础组件,Netty 官网给出了有关 Netty 的整体功能模块结构,却没有其他更多的解释。从图中,我们可以清晰地看出 Netty 结构一共分为三个模块:Core 核心层Core 核心层是 Netty 最精华的内容,它提供了底层网络通信的通用抽象和实现,包括可扩展的事件模型、通用的通信 API、支持零拷贝的 ByteBuf 等。Protocol Support 协议支持层协议支持层基本上覆盖了主流协议的编解码实现,如 HTTP、SSL、Pr原创 2021-02-25 21:07:47 · 531 阅读 · 0 评论 -
Netty学习——知识铺垫
I/O 模型实现高性能的网络应用框架离不开 I/O 模型问题,在了解 Netty 高性能原理之前我们需要先储备 I/O 模型的基本知识。I/O 请求可以分为两个阶段,分别为调用阶段和执行阶段。第一个阶段为I/O 调用阶段,即用户进程向内核发起系统调用。第二个阶段为I/O 执行阶段。此时,内核等待 I/O 请求处理完成返回。该阶段分为两个过程:首先等待数据就绪,并写入内核缓冲区;随后将内核缓冲区数据拷贝至用户态缓冲区。接下来我们来回顾一下 Linux 的 5 种主要 I/O 模式,并看下各种原创 2021-02-24 11:09:04 · 317 阅读 · 0 评论