自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 记一次线上问题——kafka消息积压以及后续消费逻辑优化

找运维临时扩充消费者实例,增加4个消费者(分区数12,原有8个消费者,增加后消费者数量与分区数量一致,消费者配置concurrency=1)。因为变价都是一次性的,只是突发出现高峰,所以几分钟后回复正常。批量查询商品详情大概需要50-60ms,批量通知审核结果暂不考虑,供应商侧回复容易出现死锁,所以采用异步处理。理论上优化后在8个消费者前提下,1.7w条消息的消费时间只需要10秒,并且不会增加供应商系统压力(之前出现过大量请求中反查供应商接口,把对方系统打崩的情况)向供应商系统提交订单失败。

2025-11-05 16:09:34 201

原创 记一次奇怪的线上死锁

摘要 钉钉告警发现下单死锁问题,经排查发现死锁源于两个事务使用不同索引路径更新同一行数据:事务A通过二级索引更新库存,事务B通过主键更新供应商信息。由于InnoDB行锁加在索引上,导致两个事务分别持有对方需要的锁,形成循环等待。解决方法包括统一使用主键索引更新或引入分布式锁。该案例突破了常见死锁场景的认知,提醒开发者遇到异常问题时应先质疑自身假设。

2025-09-17 16:45:25 674

原创 java连接mysql数据库开发国际化项目,时间类型选择以及时区参数设置

MySQL时区与JDBC参数对时间存储影响分析 摘要: 本文分析了MySQL时区设置与JDBC参数对时间类型存储的影响。MySQL中TIMESTAMP类型会进行UTC转换,而DATETIME直接存储字面量。测试表明:1)ZonedDateTime能正确处理时区转换,LocalDateTime存储可能出错;2)preserveInstants参数关闭会导致时区信息丢失;3)forceConnectionTimeZoneToSession参数能确保会话时区正确。结论指出,在跨时区应用中,应优先使用ZonedDa

2025-05-28 15:05:05 1282

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除