
netty相关
netty相关
老猿说说
Java老猿
展开
-
netty http解析
本文主要介绍netty对http协议解析原理,着重讲解keep-alive,gzip,truncked等机制,详细描述了netty如何实现对http解析的高性能。 1 http协议 1.1 描述 标示 ASCII 描述 字符 CR 13 Carriage return (回车) \n LF 10 Line fee...转载 2018-08-28 09:59:26 · 1241 阅读 · 0 评论 -
FGC与Buffer Pool
本文是一次线上的FGC分析及原理剖析。通过本文,可以深入的了解FGC,堆外Buffer和Buffer Pool的设计。 1 背景 运维通知,线上系统一直在FGC,通过zabbix查看GC 的次数 再查看YGC和FGC空间占用情况 这里有几个疑问: 1:old space 空间一直很低,为什么会有频繁的FGC? 2:Eden space 回收的阈值为什么越来越低,越来越频繁? ...转载 2018-08-28 10:01:23 · 327 阅读 · 0 评论 -
万分之一错误率问题的分析及定位
排查完500异常的原因后,还被下面问题困扰着 1 确定了RST导致500,是否还有其他场景导致500异常。为什么会出现发送了一半的包,接着就把连接给关闭掉的情况? 2 如何模拟这种错误的请求? 3 该问题是一个通用的问题, nginx等负载均衡设备对于这种场景是如何处理的? 5.1 500错误场景分析 继续进行抓包,多分析一些场景 1:连接空闲关闭 客户端先发送了http的...转载 2018-08-28 10:02:05 · 734 阅读 · 0 评论 -
netty的http client连接池设计
使用netty作为http的客户端,pool又该如何进行设计。本文将会进行详细的描述。 1 复用类型的选型 1.1 channel 复用 多个请求可以共用一个channel 模型如下: 特点: 1:callback队列为回调队列。 不同的callback通过一个全局的id进行标识。发送的时候会把该id发到服务端,服...转载 2018-08-28 10:19:17 · 589 阅读 · 0 评论 -
http连接池与keepalive
最近在使用netty作为http客户端通过pool连接tomcat的时候,出现了很多Connection reset by peer 的IOException的异常。便对问题的根源做了细致的调研。 1 连接种类 一般连接主要分为长连接,短连接和http的keepalive连接。 1.1 长连接:建立完连接后,该连接不再进行释放。 优点:性能较高,不需要重复建立tcp连...转载 2018-08-28 10:19:49 · 2292 阅读 · 0 评论