- 博客(101)
- 收藏
- 关注
原创 【脚本】一键部署脚本
背景:现场实施同事部署项目步骤繁琐、配置项容易搞错并且容易更错软件包;所以在想能不能写一个跨平台Shell/PowerShell脚本,自动完成Jdk安装、配置文件替换、服务启动等10+步骤等;经过一周的编写加调试,终于搞定,经实施同事确认,单次部署时间从2小时(人工)缩短至5分钟(脚本),实施效率提升24倍;部署流程标准化率100%,新员工培训成本至少减少70%;
2025-05-27 21:36:47
231
原创 RocketMQ的事务消息机制
当生产者发送 half 消息后,它会等待 MQ 给自己返回 success 响应,如果没有接收到,那么生产者 也会直接结束,返回异常,不再执行后续逻辑。不执行后续逻辑,这样生产者 也就不会提交 commit 消息给 MQ,MQ 长时间没接收到 commit 消息,那么它就会主动回调生产者 的一个接口,生产者 通过接口,查询本地数据后,发现这条消息对应的业务并没有正常执行,那么就告诉 MQ,这个 half 消息不能 commit,需要 rollback,MQ 知道后,就将 half 消息进行删除。
2025-05-08 23:42:23
1038
原创 线上接口响应很慢?怎么处理
SQL太复杂(join超过3张表或者子查询比较多,建议拆分SQL为多个接口,比如先从某个主接口查某个表数据,然后关联字段作为条件从另外一个表查询,进行内存拼接)某一天早上,正在上班路上,突然手机不断收到大量告警提醒,赶紧查看了下,结果显示某个接口出现大量超时,平均响应时间超过3s,这个时候怎么办?循环调用,改为单次批量调用,减少IO损耗(比如调用AB接口,根据用户ID、分组ID多个,for调用改为一次传多个分组ID)加了索引,索引失效(对索引做了系统函数的一些转换、区分度很低比如枚举值、索引列大量空值)
2025-05-02 23:03:00
667
原创 百万级数据导入的理解
场景说明:物料主数据初始化导入百万行Excel(耗时58分钟);优化方案:基于CompletableFuture实现分片异步处理(每批次5000条)+ 双缓冲队列削峰;成果:导入时间降低至23分钟(效率提升60%);
2025-04-23 23:54:10
810
原创 Nginx多虚拟主机配置
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
2024-01-12 23:51:58
1378
原创 【JVM进阶】JVM看这一篇就够了(类加载器、垃圾回收、JVM调优、内存泄漏、CPU飙高)
类加载器、垃圾回收、JVM调优、内存泄漏的排查思路以及CPU飙高排查思路
2023-07-07 22:59:13
2031
原创 Java集合框架进阶学习(ArrayList源码分析、HashMap实现原理)
ArrayList源码分析,HashMap实现原理、扩容机制、寻址算法
2023-07-02 14:03:06
895
原创 设计模式之适配器模式
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁,将一个类的接口转换成客户希望的另一个接口, 使得原本由于接口不兼容不能在一起工作的类,可以在一起工作。
2023-05-12 11:52:26
494
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人