摘要:
https://juejin.im/post/5be00763e51d453d4a5cf289 本文基于 Netty 4.1 展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目方面提供参考。 Netty 是一个异步事件驱动的网络应用程序框架 阅读全文
随笔分类 - netty
自顶向下深入分析Netty(七)--ChannelPipeline和ChannelHandler总述
2019-04-29 16:00 by Loull, 643 阅读, 收藏, 编辑
摘要:
自顶向下深入分析Netty(七)--ChannelPipeline和ChannelHandler总述 自顶向下深入分析Netty(七)--ChannelPipeline源码实现 自顶向下深入分析Netty(七)--ChannelHandlerContext源码实现 像以往一样,继续回顾这幅图。目前为 阅读全文
自顶向下深入分析Netty(六)--Channel总述
2019-04-28 17:36 by Loull, 7122 阅读, 收藏, 编辑
摘要:
自顶向下深入分析Netty(六)--Channel总述 自顶向下深入分析Netty(六)--Channel源码实现 6.1 总述 6.1.1 Channel JDK中的Channel是通讯的载体,而Netty中的Channel在此基础上进行封装从而赋予了Channel更多的能力,用户可以使用Chan 阅读全文
Netty中的那些坑
2019-03-25 11:38 by Loull, 2150 阅读, 收藏, 编辑
摘要:
Netty中的那些坑(上篇) 最近开发了一个纯异步的redis客户端,算是比较深入的使用了一把netty。在使用过程中一边优化,一边解决各种坑。儿这些坑大部分基本上是Netty4对Netty3的改进部分引起的。 注:这里说的坑不是说netty不好,只是如果这些地方不注意,或者不去看netty的代码, 阅读全文
自顶向下深入分析Netty(五)--Future
2019-03-22 17:24 by Loull, 1298 阅读, 收藏, 编辑
摘要:
再次回顾这幅图,在上一章中,我们分析了Reactor的完整实现。由于Java NIO事件驱动的模型,要求Netty的事件处理采用异步的方式,异步处理则需要表示异步操作的结果。Future正是用来表示异步操作结果的对象,Future的类签名为: public interface Future<V>; 阅读全文
自顶向下深入分析Netty(三)--Bootstrap
2019-03-22 16:57 by Loull, 385 阅读, 收藏, 编辑
摘要:
自顶向下深入分析Netty(一)--预备知识 自顶向下深入分析Netty(二)--线程模型 自顶向下深入分析Netty(三)--Bootstrap 自顶向下深入分析Netty(四)--EventLoop-1 自顶向下深入分析Netty(四)--EventLoop-2 自顶向下深入分析Netty(四) 阅读全文
【转】目前为止最透彻的的Netty高性能原理和框架架构解析
2019-02-18 20:48 by Loull, 1714 阅读, 收藏, 编辑
摘要:
转自:https://zhuanlan.zhihu.com/p/48591893 1、引言 Netty 是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。 本文基于 Netty 4.1 展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然 阅读全文
Netty笔记
2019-02-18 20:20 by Loull, 581 阅读, 收藏, 编辑
摘要:
堆外内存增涨异常 Netty 系列之 Netty 百万级推送服务设计要点 如何设置Netty的接收Buffer为堆内存模式 Netty 基本组件小结--Channel、EventLoop、Bootstrap等 关于Netty的ByteBuff内存泄漏问题 堆外内存的回收机制分析 Netty堆外内存回 阅读全文
Linux下Netty实现高性能UDP服务(SO_REUSEPORT)
2019-02-18 20:03 by Loull, 4670 阅读, 收藏, 编辑
摘要:
参考: https://www.jianshu.com/p/61df929aa98b SO_REUSEPORT学习笔记:http://www.blogjava.net/yongboy/archive/2015/02/12/422893.html 代码示例:https://www.programcre 阅读全文
Netty通信网络参数配置
2017-07-03 17:09 by Loull, 10528 阅读, 收藏, 编辑
摘要:
Netty服务端/客户端网络通信过程中常用的参数: Name Associated setter method "writeBufferHighWaterMark" 默认64 * 1024(用法未知) "writeBufferLowWaterMark" 默认32 * 1024(用法未知) "writ 阅读全文
用Netty开发中间件:高并发性能优化
2016-02-02 15:26 by Loull, 23260 阅读, 收藏, 编辑
摘要:
用Netty开发中间件:高并发性能优化 最近在写一个后台中间件的原型,主要是做消息的分发和透传。因为要用Java实现,所以网络通信框架的第一选择当然就是Netty了,使用的是Netty 4版本。Netty果然效率很高,不用做太多努力就能达到一个比较高的tps。但使用过程中也碰到了一些问题,个人觉得都 阅读全文
Netty之Java堆外内存扫盲贴
2016-01-29 17:46 by Loull, 3395 阅读, 收藏, 编辑
摘要:
Java的堆外内存本来是高贵而神秘的东西,只在一些缓存方案的收费企业版里出现。但自从用了Netty,就变成了天天打交道的事情,毕竟堆外内存能减少IO时的内存复制,不需要堆内存Buffer拷贝一份到直接内存中,然后才写入Socket中;而且也没了烦人的GC。 好在,Netty所用的堆外内存只是Java 阅读全文
Netty writeAndFlush() 流程与异步
2016-01-29 15:10 by Loull, 2138 阅读, 收藏, 编辑
摘要:
Netty writeAndFlush()方法分为两步, 先 write 再 flush @Override public ChannelFuture writeAndFlush(Object msg, ChannelPromise promise) { DefaultChannelHandlerC 阅读全文
Netty之有效规避内存泄漏
2016-01-29 11:31 by Loull, 15188 阅读, 收藏, 编辑
摘要:
有过痛苦的经历,特别能写出深刻的文章 —— 凯尔文. 肖 直接内存是IO框架的绝配,但直接内存的分配销毁不易,所以使用内存池能大幅提高性能,也告别了频繁的GC。但,要重新培养被Java的自动垃圾回收惯坏了的惰性。 Netty有一篇必读的文档 官方文档翻译:引用计数对象 ,在此基础上补充一些自己的理解 阅读全文