duanx_dev@163.com

通用 4

核心技术: Spring Boot, DDD (领域驱动设计), Redis (Lua), MySQL (分库分表), RabbitMQ, XXL-JOB 

  • 项目描述:基于 DDD 构建的高性能抽奖平台,核心解决高并发下的算法性能瓶颈、复杂规则的动态编排及海量数据存储问题。

核心职责:

  1. DDD 架构重构: 摒弃 MVC 贫血模型,采用 DDD 四层架构 搭建系统;严格遵循依赖倒置原则与充血模型设计,将抽奖策略、库存等核心逻辑收敛至领域层,实现了业务的高内聚与低耦合。
  2. 动态规则引擎:针对多重规则(黑名单/权重/库存锁)嵌套痛点,基于“责任链 + 组合模式”设计动态决策树引擎;将线性逻辑升级为二叉树结构,实现了业务规则的可视化编排与灵活组合。
  3. 高并发优化:设计“空间换时间”策略,预处理概率查找表将抽奖算法优化至 O(1);配合 Redis + Lua 脚本实现库存无锁原子扣减,彻底解决高并发超卖问题,支撑万级 QPS。
  4. 中间件自研: 应对亿级流水数据压力,自研数据库路由组件 (DB-Router);基于 AOP 切面 + ThreadLocal 实现动态数据源切换与哈希分片路由,实现了非侵入式的水平分库分表。
  5. 分布式事务: 设计“本地任务表 + MQ 异步消息”的可靠投递机制;结合 XXL-JOB 定时补偿,确保了“抽奖落库”与“第三方发奖”的最终一致性,解决分布式场景下的消息丢失难题。

技术栈:Spring Cloud Alibaba, Redis (Redisson/Lua), MySQL (ShardingSphere), Seata, XXL-JOB 

  • 项目描述: 基于微服务架构的家政 O2O 平台,支撑高并发抢单、优惠券秒杀及 10+ 种订单状态的复杂流转。

核心职责:

  1. 性能优化: 针对百万级订单数据的深度分页瓶颈,设计“滚动游标 + 覆盖索引”方案;利用联合索引避免回表查询,将长尾页查询响应时间从秒级降低至毫秒级。

  2. 架构设计: 研发实现通用状态机组件,利用策略模式 + Spring Bean 动态路由解耦复杂订单流转逻辑,实现了状态变更的原子性校验与全链路快照记录,提升系统可维护性。

  3. 并发攻坚: 设计 Redis + Lua 原子性抢券方案解决超卖问题;通过 Hash Tag 策略强制路由,解决了 Redis Cluster 集群环境下 Lua 脚本执行 CROSSSLOT 跨槽报错的难题。

  4. 疑难解决: 解决 Spring AOP 自调用导致事务失效的问题(通过注入代理对象 owner),结合 Redisson 分布式锁,确保了批量发券场景下的事务最终一致性。

  • Java核心:深入理解 HashMap 等集合源码;掌握 JUC 并发编程 (AQS/CAS/Volatile/线程池/ThreadLocal);精通 JVM 内存模型、GC 算法及类加载机制,具备 OOM 排查与调优能力。

  • 数据库与中间件:深入理解 MySQL (B+树/覆盖索引/MVCC/锁机制) 及 SQL 调优;熟练掌握 Redis (跳表/持久化/集群/缓存一致性),能用 Redisson + Lua 解决高并发问题;熟悉 RabbitMQ 消息丢失与幂等解决方案;了解 ShardingSphere 分库分表。

  • 微服务与架构:熟练掌握 Spring Cloud Alibaba (Nacos/Sentinel/Seata) 及分布式事务/ID方案;深刻理解 DDD 领域驱动设计 (充血模型/四层架构);灵活运用策略/模板/责任链/组合模式重构复杂业务。

  • 基础与工具:掌握 TCP/IP、HTTP 协议与 Linux 常用命令;熟练使用 Git、Maven、Docker 及 IDEA 调试。