Bootstrap
源码分析-Netty: 架构剖析

本篇介绍了Netty的逻辑架构。深入分析可以发现『简单』的基础之上蕴含了很多我们学习过的架构设计原则,例如分层架构、Reactor模型、责任链设计模式、事件模型等等。正是由于有这些非常合理的设计,才有基于Netty的各种应用服务器和协议栈开发的快速发展。

源码分析-Netty:开篇

介绍Netty的架构和代码结构,下一篇将通过一个demo来分析Netty运行的主流程,并结合reactor模型进行解析。

源码分析Netty:核心组件及启动过程分析

本篇从实例出发,了解Netty核心组件的概念、作用及串联过程。从概念到设计原理,再到深入了解实现细节,从而能够清晰地掌握Netty的技术细节甚至存在的问题,才能最终更好地支持我们实际的各项业务。

源码分析 -Netty:多线程在Netty中的应用

本篇主要介绍Java内存模型和多线程相关概念,以及Netty的并发编程实践。下篇内容,将会结合源码进行详细阐述。

源码分析-Netty: 并发编程的实践(二)

前面一篇介绍了多线程在Netty中的大概使用情况,本篇将结合源码,详细描述使用方式,以及值得我们思考、学习和借鉴的地方。

源码分析-Netty: 高性能之道

在源码分析-Netty: 架构剖析中,我们介绍了Netty的逻辑架构,本篇将继续深入,从架构层面对Netty的高性能设计和关键代码进行分析,看Netty如何支撑高性能网络通信。

MyChat,一个私有的“微信“

独立开发的 IM 系统

Netty浅析

之前第一次接触就被这种处理I/O的方式惊艳到了,写Netty总有一种不是在写业务;而是真的在写代码的感觉!而且写过不少Reactor模型的代码,但基本都是Echo版本的,于是很想知道Netty到底封装了什么,为什么是很多高性能框架(SpringWebFlux,Dubbo,Lettuce)的

开源整套Netty源码笔记+19个案例调优+游戏项目,终于彻底顿悟了

随着近几年的快速发展,移动互联网系统的复杂度快速上升。为了满足业务快速迭代的需求,同时提高系统的可靠性和可维护性,越来越多的大型系统后台开始采用微服务架构。以华为应用市场为例,目前后台微服务数量达上百个,服务器多达数千台。服务器数量的快速增

源码分析-Netty: 并发编程的实践(二)

前面一篇介绍了多线程在Netty中的大概使用情况,本篇将结合源码,详细描述使用方式,以及值得我们思考、学习和借鉴的地方。

Socket粘包问题终极解决方案—Netty版(2W字)!

上一篇我们讲了《Socket粘包问题的3种解决方案》,但没想到评论区竟然炸了。介于大家的热情讨论,以及不同的反馈意见,本文就来做一个扩展和延伸,试图找到问题的最优解,以及消息通讯的最优解决方案。

Netty如何高效接收网络数据?一文聊透ByteBuffer动态自适应扩缩容机制

本文介绍了Netty如何高效接收网络连接全流程并深入剖析了ByteBuffer动态自适应扩缩容机制。阐述了为什么会使用堆外内存来为ByteBuffer分配内存,由此引出了Netty的内存池PooledByteBufAllocator

史上最通俗Netty入门长文:基本介绍、环境搭建、动手实战

本文适合对Netty一无所知的Java NIO网络编程新手阅读,为了做到这一点,内容从最基本介绍到开发环境的配置,再到第一个Demo代码的编写,事无巨细都用详细的图文进行了说明。

netty系列之:使用netty实现支持http2的服务器

简介上一篇文章中,我们提到了如何在netty中配置TLS,让他支持HTTP2。事实上TLS并不是https的一个必须要求,它只是建议的标准。那么除了TLS之外,还需要如何设置才能让netty支持http2呢?一起来看看吧。

netty系列之:在netty中处理CORS

简介CORS的全称是跨域资源共享,他是一个基于HTTP-header检测的机制,通过对HTTP-header进行控制,可以实现对跨域资源的权限管理功能。在之前的CORS详解文章中,我们已经对CORS有了基本的解释。

netty系列之:自动重连

简介我们在使用客户端和服务器端连接的过程中,可能会因为各种问题导致客户端和服务器的连接发生中断,遇到这种情况,一般情况下我们需要使用监控程序去监听客户端和服务器端的连接,如果第一时间发现连接断开了,就需要手动去重连。比较麻烦,今天给大家介绍

如何评价Netty封装的io_uring?

在继续 io_uring 的旅行之前,让我们先回顾一下 linux 中的各种异步 IO,也就是 AIO。

netty系列之:channel和channelGroup

channel是netty中数据传输和数据处理的渠道,也是netty程序中不可或缺的一环。在netty中channel是一个接口,针对不同的数据类型或者协议channel会有具体的不同实现。

netty系列之:channelPipeline详解

我们在介绍channel的时候提到过,几乎channel中所有的实现都是通过channelPipeline进行的,作为一个pipline,它到底是如何工作的呢?

netty系列之:小白福利!手把手教你做一个简单的代理服务器

爱因斯坦说过:所有的伟大,都产生于简单的细节中。netty为我们提供了如此强大的eventloop、channel通过对这些简单东西的有效利用,可以得到非常强大的应用程序,比如今天要讲的代理。

netty系列之:Bootstrap,ServerBootstrap和netty中的实现

虽然netty很强大,但是使用netty来构建程序却是很简单,只需要掌握特定的netty套路就可以写出强大的netty程序。每个netty程序都需要一个Bootstrap,什么是Bootstrap呢?Bootstrap翻译成中文来说就是鞋拔子,在计算机世界中,Bootstrap指的是引导程序,通过Bo

netty系列之:基于流的数据传输

简介我们知道由两种数据的传输方式,分别是字符流和字节流,字符流的意思是传输的对象就是字符串,格式已经被设置好了,发送方和接收方按照特定的格式去读取就行了,而字节流是指将数据作为最原始的二进制字节来进行传输。

netty系列之:性能为王!创建多路复用http2服务器

简介在之前的文章中,我们提到了在netty的客户端通过使用Http2FrameCodec和Http2MultiplexHandler可以支持多路复用,也就是说在一个连接的channel基础上创建多个子channel,通过子channel来处理不同的stream,从而达到多路复用的目的。

netty系列之:Event、Handler和Pipeline

简介上一节我们讲解了netty中的Channel,知道了channel是事件处理器和外部联通的桥梁。今天本文将会详细讲解netty的剩下几个非常总要的部分Event、Handler和PipeLine。

java高级用法之:无所不能的java,本地方法调用实况

相信每个程序员都有一个成为C++大师的梦想,毕竟C++程序员处于程序员鄙视链的顶端,他可以俯视任何其他语言的程序员。

netty系列之:EventExecutor,EventExecutorGroup和netty中的实现

netty作为一个异步NIO框架,多线程肯定是它的基础,但是对于netty的实际使用者来说,一般是不需要接触到多线程的,我们只需要按照netty框架规定的流程走下去,自定义handler来处理对应的消息即可。

netty系列之:使用netty搭建websocket客户端

简介在网速快速提升的时代,浏览器已经成为我们访问各种服务的入口,很难想象如果离开了浏览器,我们的网络世界应该如何运作。现在恨不得把操作系统都搬上浏览器。但是并不是所有的应用都需要浏览器来执行,比如服务器和服务器之间的通信,就需要使用到自建客

netty系列之:EventLoop,EventLoopGroup和netty的默认实现

在netty中不管是服务器端的ServerBootstrap还是客户端的Bootstrap,在创建的时候都需要在group方法中传入一个EventLoopGroup参数,用来处理所有的ServerChannel和Channel中所有的IO操作和event。

netty系列之:channel,ServerChannel和netty中的实现

我们知道channel是netty中用于沟通ByteBuf和Event的桥梁,在netty服务的创建过程中,不管是客户端的Bootstrap还是服务器端的ServerBootstrap,都需要调用channel方法来指定对应的channel类型。

netty系列之:使用UDP协议

简介在之前的系列文章中,我们到了使用netty做聊天服务器,聊天服务器使用的SocketChannel,也就是说底层的协议使用的是Scoket。今天我们将会给大家介绍如何在netty中使用UDP协议。

netty系列之:NIO和netty详解

netty为什么快呢?这是因为netty底层使用了JAVA的NIO技术,并在其基础上进行了性能的优化,虽然netty不是单纯的JAVA nio,但是netty的底层还是基于的是nio技术。

netty系列之:netty初探

简介我们常用浏览器来访问web页面得到相关的信息,通常来说使用的都是HTTP或者HTTPS协议,这些协议的本质上都是IO,客户端的请求就是In,服务器的返回就是Out。但是在目前的协议框架中,并不能完全满足我们所有的需求。比如使用HTTP下载大文件,可能需要长连

netty系列之:EventLoop,EventLoopGroup和netty的默认实现

在netty中不管是服务器端的ServerBootstrap还是客户端的Bootstrap,在创建的时候都需要在group方法中传入一个EventLoopGroup参数,用来处理所有的ServerChannel和Channel中所有的IO操作和event。

netty系列之:channelHandlerContext详解

我们知道ChannelHandler有两个非常重要的子接口,分别是ChannelOutboundHandler和ChannelInboundHandler,基本上这两个handler接口定义了所有channel inbound和outbound的处理逻辑。

netty系列之:分离websocket处理器

简介在上一篇文章中,我们使用了netty构建了可以处理websocket协议的服务器,在这个服务器中,我们构建了特制的handler用来处理HTTP或者websocket请求。

其他标签