Web
琦小虾
抱拳会天下英豪,煮酒论成败是非。
展开
-
Netty技术知识点总结
NettyNetty 是一个非阻塞(异步)、事件驱动的网络框架,用多线程处理 IO 事件。一. Netty 结构Netty 服务端与客户端都是由 Bootstrap 引导程序开始的,对于服务端,引导类是 ServerBootstrap,对于客户端,引导类是 Bootstrap。从 ServerBootstrap 开始,Netty Server 的结构如下:ServerBootstrapEventLoopGroupEventLoop:事件循环线程,通过 Selector 管理多个连接 Ch原创 2020-07-08 23:57:10 · 360 阅读 · 0 评论 -
服务假死问题解决过程实记(一)——问题发现篇
一、前言自三月六日起,笔者所在业务组的开发环境上出现了若干次服务假死,页面请求无响应的现象。由于笔者在三月六日之前,对 JVM, Tomcat,以及数据库连接池没有丝毫调优经验,所以从三月六日开始的所有与解决该问题的过程,都会记录到本文,以记录并纪念笔者的第一次服务调优经历。链接:二、03.06 记 Tomcat 的一次假死问题解决经历注:本文是一个前序,记录问题出现的现象...原创 2019-05-01 11:06:02 · 10977 阅读 · 0 评论 -
服务假死问题解决过程实记(二)——C3P0 数据库连接池配置引发的血案
接上文三、03.30 Tomcat 假死后续——C3P0 连接池参数配置问题昨晚上正在看有关 B+Tree 相关的内容,收到业务组的微信消息:最帅气的大龙龙:现场数据库连接不上,他们排查问题,怀疑与连接池或者日志有关系,最后发现从昨天下午到现在产生 30 万条日志,其中我们就有 22 万条,明天查一下我们服务 @琦小虾好吧,那就和师父一起查问题好了。第二天早上,果然数据库组的同事过来...原创 2019-05-01 11:09:12 · 3089 阅读 · 1 评论 -
服务假死问题解决过程实记(三)——缓存问题优化
接上篇 《服务假死问题解决过程实记(二)—— C3P0 数据库连接池配置引发的血案》五、04.17—04.21 缓存逻辑修正这段时间我一直在优化服务的性能,主要是从分布式缓存和业务逻辑修正两个角度出发进行的。首先是将我们的缓存逻辑给修正了一下。关于缓存,我们业务存在两个重要问题:集群部署的情况下,每个服务都用了很多本地 ConcurrentHashMap 缓存;在业务逻辑计算出结果之...原创 2019-05-01 11:12:58 · 2072 阅读 · 3 评论