
Netty学习系列
文章平均质量分 79
Dreammmming Time
人啊,毕业时意气风发,进入社会后就逐渐钝化了,因此希望通过知识分享和新知识学习,在大数据领域彼此勉励,共同成长,拒绝被环境束缚。
展开
-
Netty学习之事件响应(Reactor)网络编程模型
三种Reactor(事件响应,或是异步)网络编程模型 1. 单线程模型:适合请求很少的小场景,Server端使用一个线程来处理所有的网络事件,包括底层Socket数据的读、写、编解码 图1. 单线程Reactor网络编程模型 如图1所示,一个Server的监听端口,启用了一个线程来同时处理3个客户端的请求。Reactor可以认为就是一个线程,里面会有两个主要的角色工作,一个是Acceptor,另外一个是Dispatcher。Acceptor完成的工作就是检测过JAVA NIO中的Selector上的与客户原创 2020-12-09 11:03:04 · 751 阅读 · 0 评论 -
Netty学习之从下到上成就零拷贝
简述 在做网络开发时,时常听到零拷贝、Reactor编程模型、JAVA NIO SocketChannel等的概念,还有一个优秀的网络编程构架,如Netty、Akka等,这篇Blog就“零拷贝”的概念及在Netty中的应用浅短讨论一下,文中不免有许多抄借和错误之处,请自行留意。 何为零拷贝? 操作系统中的零拷贝 一般地,用户程序进程工作在用户态的内存空间,而操作系统本身占用的内存属于系统太空间,因此如果我们想通过Socket通信进行收发数据时,由于用户程序产生的数据所处的内存空间与套接字Socket缓存区所原创 2020-12-08 21:53:37 · 188 阅读 · 0 评论 -
Netty学习篇之零拷贝的实现
简述 本博客通过分析零拷贝在Netty中的实现及Socket事件的处理过程,讨论如何能更加深刻地清楚利用Netty实现自己的零拷贝功能。 后面所讲的内容,均建立在读者已经了解零拷贝的概念、JAVA NIO的零拷贝、Netty的基本组成及服务器/客户端的简单创建等,因此文章后面涉及到的一些Netty中的类名或是概念词汇,限于篇幅,很多时候不会再讲解,读者可以自行查考官网或是从我的其它博文中搜询。 JAVA NIO Socket连接及事件转发流程 客户端主动连接 假设已经有一个Netty Server正常工作,原创 2020-12-08 21:33:43 · 545 阅读 · 0 评论