摘要: 大家好,我是Java烘焙师。本次分享一下CPU使用率不均匀的排查过程,先看问题现象,再找问题根因、解决办法,最后扩展到通用的排查思路、典型原因。 先说结论,根因是服务实例数大于kafka分片数。快速的解决办法是扩大kafka分片数,彻底方案是拆成2个服务(消费任务服务、业务API服务)。除了这个原因 阅读全文
posted @ 2026-06-29 08:39 Java烘焙师 阅读(368) 评论(0) 推荐(2)
摘要: 大家好,我是Java烘焙师,本文结合笔者的经验和思考,对分布式事务做个总结。 在微服务架构下,跨服务的数据一致性保证是个绕不开的难题。如果在一次业务操作中,写多个DB,或既写本地DB、又调外部RPC接口,就会面临一致性问题,怎么保证跨库、跨系统的操作要么都成功、要么都失败呢? 先说结论,最常用的分布 阅读全文
posted @ 2026-05-31 08:24 Java烘焙师 阅读(266) 评论(0) 推荐(1)
摘要: 大家好,我是Java烘焙师。本文结合笔者的经验和思考,对业务数据迁移做个总结。在业务系统迭代的过程中,难免会做数据迁移,可能是因为: 业务模型变更:实体关系变了 或者存储结构变更:字段从DB迁移到HBase等NoSQL存储、或做文本压缩、或修改数据聚合粒度等 业务数据迁移,需要改持久化层基础代码,还 阅读全文
posted @ 2026-04-22 08:37 Java烘焙师 阅读(384) 评论(0) 推荐(0)
摘要: 大家好,我是Java烘焙师。今天不聊架构,介绍一下AI编程。 趁着假期和业余时间,研究了一下AI编程,并用Kiro、OpenCode,从零搭建了一个完整可运行的全栈项目,包括Java后端、前端页面、微信小程序。AI编程效率是真高,全程没怎么写代码,而是告知AI需求是什么、哪些地方要优化、哪里有bug 阅读全文
posted @ 2026-03-24 08:22 Java烘焙师 阅读(773) 评论(0) 推荐(2)
摘要: 大家好,我是Java烘焙师,近半年重启了技术博客的更新,在春节前做个总结吧。 关于我:大厂架构师,有团队管理经验,热爱技术,平时喜欢思考总结。 写作初衷: 功在平时:定期把自己的经验和思考总结下来,能给别人讲清楚,才算真的理解透彻了 锻炼总结表达能力:除了自身技术要过硬,还得会表达呈现、分清主次,避 阅读全文
posted @ 2026-02-11 08:37 Java烘焙师 阅读(632) 评论(0) 推荐(2)
摘要: 大家好,我是Java烘焙师。本文结合笔者的经验和思考,对灰度方案做个总结,重点介绍AB实验。 灰度在开发流程中非常普遍。先做小流量验证,确认无误后再推全,灰度过程中一旦发现系统异常、或业务指标异常,应立刻回滚。 灰度场景 代码灰度:是最典型的灰度,灰度内做新逻辑,灰度外做旧逻辑 既可以提供v2版本新 阅读全文
posted @ 2026-01-31 17:35 Java烘焙师 阅读(617) 评论(2) 推荐(2)
摘要: 大家好,我是Java烘焙师。后端程序员平时除了接触业务代码、中间件、存储等,也难免会跟数仓有交集。下面结合笔者的经验和思考,从后端程序员的视角看数仓、做个总结,后续再跟数仓/BI argue的时候就不虚了😃 分成两部分介绍:离线数仓、实时数仓。 离线数仓 离线数仓是最典型的数仓应用场景。后端服务产 阅读全文
posted @ 2025-12-22 08:26 Java烘焙师 阅读(1235) 评论(0) 推荐(1)
摘要: 大家好,我是Java烘焙师。上一篇文章介绍了限流方案的使用和选型,本文接着讲限流算法的原理。 常见的限流算法有:令牌桶、窗口计数、漏桶,前两种在实际使用中最常见,因此重点介绍。限流算法是通用的,既可以在单机上实现,也可以借助redis来实现分布式限流。 首先,定义一下限流算法需实现的基本功能: tr 阅读全文
posted @ 2025-11-27 08:23 Java烘焙师 阅读(1298) 评论(0) 推荐(1)
摘要: 大家好,我是Java烘焙师。为了避免突增流量引起服务雪崩,需要对接口、存储资源做限流保护,根据系统负载情况设置合适的限流值。下面结合笔者的经验和思考,对主要限流方案的选型做一下总结,本篇先看如何使用,下一篇再看背后的原理。 下面介绍几种常见限流方案的使用方法、优缺点: 单机限流:Guava Rate 阅读全文
posted @ 2025-10-27 08:42 Java烘焙师 阅读(1005) 评论(0) 推荐(0)
摘要: 大家好,我是Java烘焙师。如何更新缓存和DB、做到性能和一致性的取舍,是一个很常见的话题。下面结合笔者的经验和思考,系统性地总结一下缓存更新模式,讲透讲明白。 1、旁路缓存(cache-aside) 实现方案 查询:先查缓存,查不到缓存时再查DB,并把DB内容写入缓存、设置合适的过期时间 更新:先 阅读全文
posted @ 2025-09-15 08:23 Java烘焙师 阅读(763) 评论(0) 推荐(3)