随笔分类 - java实战
摘要:网上博客常说,kafka的topic数量过多会影响kafka,而RocketMQ不会受到topic数量影响。 但是,果真如此吗? 最近排查一个问题,发现RocketMQ稳定性同样受到topic数量影响!! 好了,一起来回顾下这次问题排查吧,最佳实践和引申思考放在最后,千万不要错过。 1、问题描述 我
阅读全文
摘要:线上kafka消息堆积,所有consumer全部掉线,到底怎么回事? 最近处理了一次线上故障,具体故障表现就是kafka某个topic消息堆积,这个topic的相关consumer全部掉线。 整体排查过程和事后的复盘都很有意思,并且结合本次故障,对kafka使用的最佳实践有了更深刻的理解。 好了,一
阅读全文
摘要:最近新写了一个中间件「运行时动态日志等级开关」,其中使用Java SPI机制实现了自定义配置中心,保证良好的扩展性。 项目地址,走过路过可以点个star :)https://github.com/saigu/LogLevelSwitch 在使用过程中,突然发现SPI其实和日常写API接口,然后进行i
阅读全文
摘要:项目地址,走过路过可以点个star :)https://github.com/saigu/LogLevelSwitch 1.为什么需要LogLevelSwitch 随着业务规模不断扩大,每一次线上故障的快速定位都是对开发同学的巨大挑战。 通过日志进行业务关键逻辑的输出,是定位问题的有效手段之一。但是
阅读全文
摘要:最近排查一个bug,发现了一系列有意思的东西,对「自定义线程池」、「Jetty线程模型」都有了一些新的认识。 本文预计阅读时间10分钟,包括: 问题表现 常见原因筛查 根因与源码分析 最佳实践 一些小TIPS 1.问题表现 预发环境偶发请求失败异常,服务端显示错误信息为: Required Stri
阅读全文
摘要:微信搜索【阿丸笔记】,关注Java/MySQL/中间件各系列原创实战笔记,干货满满。 分库分表的文章网上非常多,但是大多内容比较零散,以讲解知识点为主,没有完整地说明一个大表的切分、新架构设计、上线的完整过程。 因此,我结合去年做的一个大型分库分表项目,来复盘一下完整的分库分表从架构设计 到 发布上
阅读全文
摘要:最近帮新来的校招同学排查一个线上问题,问题本身不是很难,但是过程中踩到了一个arthas的坑,挺有意思的。 同时,也分享下在排查过程中使用的一些比较实用的工具,包括tcpdump、arthas、simpleHTTPServer等,希望能对大家有所帮助。 1.问题描述 新开发的一个功能,简单来说,就是
阅读全文
摘要:最近接手了一个老项目,看到一个很有意思的现象。 这个项目中大量的方法入参都会带上user信息,比如这样 它的意图是希望在方法内使用user的信息,但是如此大范围的传递用户信息,第一感觉就是不优雅。那有什么办法可以优化一下呢? 我们第一反应是,可以存一个全局变量,在初始位置将用户信息存入全局变量,然后
阅读全文