系统架构:以 DDD 领域驱动设计开发,微服务拆分的分布式系统架构。
核心技术:SpringBoot、MyBatisPlus、Dubbo、Kafka、MySQL、DB-Router、redis、nacos。
项目描述:抽奖系统是营销平台的重要微服务之一,系统使用DDD架构,拆解服务边界,凝练领域服务功能,实现一定的服务治理。围绕抽奖服务建设领域服务,包括抽奖策略、活动玩法、奖品发放等。
核心职责:
对于活动秒杀的并发场景,将秒杀从最开始数据库行级锁优化为redis key加锁,对于redis key的使用的是滑块锁(分段锁),避免因独占竟态(独占锁)而降低性能。
考虑到秒杀峰值TPS较高的需求,实现了一个简单的数据库路由的SpringBoot Starter 组件,可以满足对于指定字段的路由到对应的数据库进行操作。
解耦抽奖流程,考虑到抽奖流程中包含有抽奖和发奖的操作,为了避免一个流程太长,对于抽奖和发奖使用MQ消息进行串联。
点击空白处退出提示












评论