营销平台下的子模块-微服务抽奖系统

我要开发同款
£24822024年03月03日
93阅读
开发技术redis、dubbo、mybatis、spring、java

作品详情

系统架构:以 DDD 领域驱动设计开发,微服务拆分的分布式系统架构。
核心技术:SpringBoot、MyBatisPlus、Dubbo、Kafka、MySQL、DB-Router、redis、nacos。
项目描述:抽奖系统是营销平台的重要微服务之一,系统使用DDD架构,拆解服务边界,凝练领域服务功能,实现一定的服务治理。围绕抽奖服务建设领域服务,包括抽奖策略、活动玩法、奖品发放等。
核心职责:
对于活动秒杀的并发场景,将秒杀从最开始数据库行级锁优化为redis key加锁,对于redis key的使用的是滑块锁(分段锁),避免因独占竟态(独占锁)而降低性能。
考虑到秒杀峰值TPS较高的需求,实现了一个简单的数据库路由的SpringBoot Starter 组件,可以满足对于指定字段的路由到对应的数据库进行操作。
解耦抽奖流程,考虑到抽奖流程中包含有抽奖和发奖的操作,为了避免一个流程太长,对于抽奖和发奖使用MQ消息进行串联。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论