记线上环境dubbo线程池耗尽事件-"CyclicBarrier惹的祸"

记线上环境dubbo线程池耗尽事件-

事件背景 系统相关使用人员反馈系统故障,日志显示从ams系统服务提示dubbo处理线程不足,具体异常信息如下: 问题定位 从上图可知,dubbo的处理线程池满了,默认200个线程,活动线程也是200个。这个现象非常不正常,我们的应用并发还没有到这个程度能同时占用200个线程处理请求。然后去读了下dubbo源码,发现dubbo也认为这种情况不正常,然后帮我们记录了应用的线程堆栈信息,这...

阅读全文 »

java应用线上诊断神器Arthas

java应用线上诊断神器Arthas

前言碎语 Arthas是阿里巴巴最近开源的一款在线诊断java应用程序的工具,是greys工具的升级版本, 深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个...

阅读全文 »

JVM1.8参数大全-jvm性能调优速查手册

JVM1.8参数大全-jvm性能调优速查手册

前言碎语 JVM内存模型,java GC垃圾内存回收,Jvm性能调优等等是个老生常谈的话题,故将官方JVM参数详情直译(Google翻译)记录在此,以备做jvm参数调优之时方便查询,同时给大家提供便利 jvm1.8参数详情: -Xcomp 在第一次调用时强制编译方法。 默认情况下,客户端VM( -client )执行1,000个已解释的方法调用,Server VM( -server )执行10,000个已解释的方法调用以收集有效编译的信息。 指定...

阅读全文 »

内网穿透服务搭建-java版

内网穿透服务搭建-java版

前言碎语 内网穿透服务在开发中有很多的应用场景,比如1.和第三方接口本地联调对接,2.本地微信开发时联调回调等等。当然,使用场景不止这些,然后有需求就会有 市场就会有产品,付费产品比较著名的有“花生壳”,然后免费的有ngrok,早期博主也分享过国内的一些免费的ngrok, 详见《ngrok(微信开发福利)内网穿透神器 》 。然而,这些免费的ngrok慢慢都停服了或者转向会员收...

阅读全文 »

Disruptor-高性能线程消息传递框架

Disruptor-高性能线程消息传递框架

前言碎语 Disruptor是英国 LMAX公司开源的 高性能的线程间传递消息的并发框架,和jdk中的BlockingQueue非常类似,但是性能却是 BlockingQueue不能比拟的,下面是官方给出的一分测试报告,可以直观的看出两者的性能区别: Disruptor 项目地址: https://github.com/LMAX-Exchange/disruptor 核心概念? 这么性能炸裂的框架肯定要把玩一番,试用前,我们先了解下disruptor的主要的概念,然后结合楼主的weblog项...

阅读全文 »

基于redis,redisson的延迟队列实践

基于redis,redisson的延迟队列实践

前言碎语 首先说明下需求,一个用户中心产品,用户在试用产品有三天的期限,三天到期后准时准点通知用户,试用产品到期了。这个需求如果不是准时通知,而是每天定点通知就简单了。如果需要准时通知就只能上延迟队列了。使用场景除了如上,典型的业务场景还有电商中的延时未支付订单失效等等。 延迟队列有很多种实现方式,普遍会采用如下等方式,如: 1.如基于RabbitMQ的队...

阅读全文 »

ER模型转jpa实体maven 插件项目开源

ER模型转jpa实体maven 插件项目开源

前言碎语 kk-erm-maven-plugin是kk系列第四个开源项目,首个开源项目KKFileView获得了社区非常好反响,gitee+github已经累计超过2000个star了,并获得了gitee最具价值项目GVP的称号。开源路漫漫,今天带来的这个项目是个工具内的项目,一个maven插件。他可以帮你实现erm模型文件到java jap Entity实体的转换,彻底解放你维护数据库字段到java实体的繁琐工作。 kk-erm-maven-plugin 将erm关系描述文件生成JPA...

阅读全文 »