路灯
To be free and unafraid
精选文章
按住 Shift 横向滚动
RocketMQ 延时消息实现订单超时自动关闭:从方案选型到秒级精度的进阶之路

RocketMQ 延时消息实现订单超时自动关闭:从方案选型到秒级精度的进阶之路

在趣玩搭社交平台中,用户抢到活动名额后需要在 15 分钟内完成支付,否则订单自动取消、名额释放。本文记录延时订单关闭方案的选型过程、RocketMQ 延时等级的局限性,以及如何实现精确到秒级的超时控制。 一、业务场景与挑战 1.1 业务流程 趣玩搭的活动票务流程如下: <

Redis Lua 脚本实现高并发库存扣减:从原子性保障到主节点宕机的数据安全

Redis Lua 脚本实现高并发库存扣减:从原子性保障到主节点宕机的数据安全

在趣玩搭社交平台的活动抢票场景中,我使用 Redis Lua 脚本实现了库存的原子性扣减。本文从 Lua 脚本的设计思路讲起,深入讨论为什么必须用 Lua 而不是普通 Redis 命令,以及 Redis 主节点宕机时如何保证库存数据不丢失。 一、为什么必须用 Lua 脚本 1.1 业务场景

架构师思维:从"写好代码"到"做好取舍"的认知跃迁

架构师思维:从"写好代码"到"做好取舍"的认知跃迁

从宇信科技的初级开发到凯士比的中级开发+项目管理,再到趣玩搭的开发主管+初级架构师。这篇文章不是技术文章,而是一篇关于角色认知转变的复盘——架构师到底和高级开发有什么区别?以及一个真实的架构决策案例,聊聊"取舍"这件事。 一、三段经历的认知变化

支付对接的"最后一公里":回调丢失、关单冲突与幂等性的工程化解决方案

支付对接的"最后一公里":回调丢失、关单冲突与幂等性的工程化解决方案

在趣玩搭社交平台集成微信/支付宝支付的过程中,遇到了比预想中复杂得多的边界情况。支付本身不难,难的是"回调一直没来怎么办""回调来了但订单已关闭怎么办""同一个回调来了两次怎么办"。本文记录这些边界问题的排查与解决全过程。 一、支付流程全景 先画一下趣玩搭的完整支付链路,后续讨论的所有边界问题都发生

Seata AT 模式落地实录:订单-库存-积分的分布式事务治理与踩坑全记录

Seata AT 模式落地实录:订单-库存-积分的分布式事务治理与踩坑全记录

在趣玩搭社交平台的支付场景中,一笔支付成功后需要同时完成"创建订单、扣减库存、增加积分"三个操作,分布在三个微服务中。本文记录为什么选 AT 模式、性能瓶颈如何突破、以及回滚失败时的"人肉兜底"方案。 一、问题背景 1.1 业务场景 趣玩搭的活动票务支付成功后,需要同时完成三件事: 支付回调到达

高并发抢票场景下的线程池配置:每个参数都有理由

高并发抢票场景下的线程池配置:每个参数都有理由

以兴趣社交平台"趣玩搭"的限量活动抢票功能为例,记录线程池参数是怎么一步步推导出来的,而不是凭经验拍脑袋。 一、业务场景 趣玩搭是一个基于 LBS 的兴趣社交平台,用户可以在上面发起各种线下活动。部分热门活动(比如限量 50 人的露营、剧本杀等)会在固定时间开放抢名额,开抢瞬间会涌入数千并发请求。

从 0 到 1W QPS:工业数字工厂微服务架构底座的压测与调优全记录

从 0 到 1W QPS:工业数字工厂微服务架构底座的压测与调优全记录

在凯士比数字工厂(KiPlant)项目中,我主导搭建了支撑万级 QPS 的微服务架构底座。这篇文章记录的不是最终的架构图,而是那个数字是怎么测出来的、瓶颈是怎么找到的、以及每一步优化背后的思考过程。 一、背景与目标 1.1 业务场景 凯士比数字工厂是一个面向制造业的 SaaS 平台,核心功能包括设备

Prompt 工程的工程化:版本管理、A/B 测试与注入防御的初创团队实践

Prompt 工程的工程化:版本管理、A/B 测试与注入防御的初创团队实践

Prompt 不是写完就不管的咒语,而是需要像代码一样管理的核心资产。本文记录趣玩搭 20 人团队如何用最低成本建立 Prompt 的版本管理、A/B 测试和安全防护体系。 一、Prompt 管理的痛点 1.1 起初的混乱 趣玩搭的 AI 系统初期,Prompt 散落在代码的各个角落——有的硬编

SaaS 多租户场景慢 SQL 治理:从 explain 分析到雪花 ID 重构的全过程

SaaS 多租户场景慢 SQL 治理:从 explain 分析到雪花 ID 重构的全过程

在凯士比数字工厂(KiPlant)项目中,随着租户数量增长,核心查询接口 RT 持续恶化。本文记录如何通过 explain 定位问题、为什么自增 ID 在多租户场景下会"反噬"性能、以及雪花 ID 改造的完整方案。 一、问题发现 1.1 背景 KiPlant 是一个多租户 SaaS 平台,所有租户的