随笔分类 -  netty

一次netty与java socket的压力测试对比【yetdone】为什么要用netty
摘要:1 结果:比较遗憾,无论是本机、单核远程、4核远程,两边的测试效果相当 2 远程测试,netty与socket都只能到2900个连接,极限了,4核服务器也是 后来发现,施压机java.lang.OutOfMemoryError: unable to create new native thread 阅读全文

posted @ 2020-03-14 23:08 silyvin 阅读(2126) 评论(0) 推荐(0) 编辑

netty设置socket用户缓冲区
摘要:.childOption(ChannelOption.RCVBUF_ALLOCATOR, new AdaptiveRecvByteBufAllocator(64, 1024, 65536)) 注意这行,中间那个数字是关键 有点像: 0 腾讯 centos 7 [root@VM_0_9_centos 阅读全文

posted @ 2020-02-01 23:31 silyvin 阅读(2914) 评论(0) 推荐(1) 编辑

write异步与流量控制 4.0.29.Final (二)addMessage与ChannelOutboundBuffer(yet)
摘要:cas private void incrementPendingOutboundBytes(long size, boolean invokeLater) { if (size != 0L) { long newWriteBufferSize = TOTAL_PENDING_SIZE_UPDATE 阅读全文

posted @ 2020-01-16 17:29 silyvin 阅读(160) 评论(0) 推荐(0) 编辑

netty之堆内存、直接内存、bytebuf(yet)
摘要:1 Netty缓冲区——ByteBuf Netty的ByteBuf是一个抽象类,是Netty管辖的内存,里面主要是一些byte数组的读写方法,与其说是抽象类,不如说它是一个接口,因为它里面几乎全是抽象方法,下面是截取它的一部分方法: ByteBuf有四个重要的实现类:PooledDirectByte 阅读全文

posted @ 2020-01-04 23:34 silyvin 阅读(1269) 评论(0) 推荐(0) 编辑

boss与worker
摘要:https://blog.csdn.net/weixin_34275734/article/details/91749489 在Netty的里面有一个Boss,他开了一家公司(开启一个服务端口)对外提供业务服务,它手下有一群做事情的workers。Boss一直对外宣传自己公司提供的业务,并且接受(a 阅读全文

posted @ 2020-01-04 00:04 silyvin 阅读(1006) 评论(0) 推荐(0) 编辑

write异步与流量控制 4.0.29.Final
摘要:AbstractChannelHandlerContext.class private void write(Object msg, boolean flush, ChannelPromise promise) { AbstractChannelHandlerContext next = this. 阅读全文

posted @ 2020-01-03 23:58 silyvin 阅读(331) 评论(0) 推荐(0) 编辑

netty高低水位流控(yet)
摘要:https://blog.csdn.net/feiyingHiei/article/details/78735754?utm_source=blogxgwz9 有源码分析 在启动Netty bootstrap的时候可以设置ChannelOption选项,其中ChannelOption中有一项WRIT 阅读全文

posted @ 2020-01-03 16:47 silyvin 阅读(7191) 评论(1) 推荐(1) 编辑

Netty 作为 http client 请求https 的 get与post
摘要:spring boot server: package com.example.demo.controller.ssl; import com.example.demo.controller.ProxyController; import org.springframework.stereotype 阅读全文

posted @ 2019-12-28 21:50 silyvin 阅读(4002) 评论(0) 推荐(0) 编辑

tcp(netty)的调用同步化(异步阻塞)及与http协议、浏览器关系【重点】
摘要:1 https://segmentfault.com/a/1190000019152276?utm_medium=referral&utm_source=tuicool 其实在编程领域,异步的场景还是挺多的,比如 TCP 协议本身就是异步的,我们工作中经常用到的 RPC 调用,在 TCP 协议层面, 阅读全文

posted @ 2019-09-11 14:45 silyvin 阅读(3487) 评论(0) 推荐(0) 编辑

Netty client 多路复用 连接池
摘要:有两种方式: 1)使用netty自带的 Netty自带连接池的使用 /Users/joyce/work/jds/trade/trade-shenjinrong/jincePfyhServer com.jincetrade.pfyhserver.client.PfyhClientPool 2)自己fo 阅读全文

posted @ 2019-09-10 22:52 silyvin 阅读(3214) 评论(0) 推荐(0) 编辑

netty client 连接超时设置
摘要:public class Client4 { public static void main(String[] args) { //worker负责读写数据 EventLoopGroup worker = new NioEventLoopGroup(); long st = System.curre 阅读全文

posted @ 2018-11-09 13:37 silyvin 阅读(23884) 评论(0) 推荐(0) 编辑

netty 是否要开启业务线程池
摘要:1 业务线程池 加快io线程效率(不处理业务) 避免 同步处理回执时 意外阻塞 io线程,或handler处理太慢拖累io线程,从而导致堆外溢出 缺点是:业务处理完后,待写入,发现要切换线程到io线程,加大线程切换的开销,与netty3读写非同一线程有些像 如果仅仅handler处理慢,加大work 阅读全文

posted @ 2018-10-22 17:15 silyvin 阅读(3951) 评论(0) 推荐(0) 编辑

netty tcp(WebSocket)鉴权2个方案
摘要:1 本方案基于netty channel的线程安全性与@Sharable中结论,pipeline线程安全 增加一个AuthHandler,顶在pipeline最前面 鉴权不通过,close channel,通过,remove掉这个鉴权channelhandler 取自jds-im,msgforwar 阅读全文

posted @ 2018-09-17 18:11 silyvin 阅读(6716) 评论(0) 推荐(0) 编辑

tcp心跳模型
摘要:1. 客户端写空闲4s发一次心跳 2. 服务端收到心跳回复 3. 服务端读空闲 (n个4s) + x未收到心跳,close channel 4. 客户端读空闲 (n个4s) + x未收到回复,重连 5. n取2为推荐,x取1 对于netty而言: 客户端: R 61 W 30 服务端: R 61 h 阅读全文

posted @ 2018-09-07 15:36 silyvin 阅读(341) 评论(0) 推荐(0) 编辑

netty channel的线程安全性与@Sharable
摘要:1. Bootstrap中直接添加sb.childHandler(new MySimpleChannelInboundHandler()) 这个childHandler都是同一个实例,也就说会导致不同的channel用了同一个handler 2. netty的一大好处就是每一个channel都有自己 阅读全文

posted @ 2018-09-05 17:24 silyvin 阅读(14945) 评论(1) 推荐(0) 编辑

netty处理拆包
摘要:https://blog.csdn.net/u010853261/article/details/55803933 [netty]--最通用TCP黏包解决方案:LengthFieldBasedFrameDecoder和LengthFieldPrepender 前面已经说过: TCP以流的方式进行数据 阅读全文

posted @ 2018-08-01 17:37 silyvin 阅读(667) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示