# big-market **Repository Path**: hdutest/big-market ## Basic Information - **Project Name**: big-market - **Description**: Raffle 抽奖模块 是大营销平台的核心组件,支持: 差异化抽奖流程:通用抽奖、黑名单过滤、人群定向、积分消耗、N次解锁奖品等。 高扩展性设计:采用 责任链模式、模板模式、组合模式 和 工厂模式,实现规则引擎的动态装配。 分布式与高并发:通过分库分表、分布式锁、延迟队列、熔断限流等机制,保障系统的高可用与一致性。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-10-25 - **Last Updated**: 2025-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎯 大营销平台系统 - Raffle 抽奖模块 **大营销平台系统**是一个全栈式综合实战项目,涵盖前后端开发、分布式架构、DevOps 部署与监控,核心模块 **Raffle 抽奖系统** 支持多样化营销玩法。以下是本仓库的核心内容与技术亮点。 --- ## 🚀 项目介绍 **Raffle 抽奖模块** 是大营销平台的核心组件,支持: - **差异化抽奖流程**:通用抽奖、黑名单过滤、人群定向、积分消耗、N次解锁奖品等。 - **高扩展性设计**:采用 **责任链模式**、**模板模式**、**组合模式** 和 **工厂模式**,实现规则引擎的动态装配。 - **分布式与高并发**:通过分库分表、分布式锁、延迟队列、熔断限流等机制,保障系统的高可用与一致性。 --- ## 核心业务流程 img ## 🛠️ 技术栈 ### 后端核心 - **架构设计**:DDD 领域驱动设计 + 脚手架工程 - **开发框架**:SpringBoot、MyBatis、Dubbo(RPC) - **分布式技术**: - 存储:Redis(缓存)、Sharding-JDBC(分库分表) - 消息:RocketMQ、RabbitMQ(异步解耦) - 调度:XXL-JOB(分布式任务)、Redisson(分布式锁) - **设计模式**:责任链、模板、组合、工厂模式深度应用 ### 运维与部署 - **容器化**:Docker 镜像构建与云服务部署 - **监控**:Grafana 可视化监控 + Nginx 负载均衡 - **配置中心**:Nacos、Zookeeper(动态配置/熔断降级) - **协作工具**:Git/GitCode 代码管理 --- ## 🔍 核心职责 1. **抽奖规则引擎** - **责任链模式** 处理前置规则(黑名单/用户资格校验) - **组合模式** 实现中后置规则树(多分支动态过滤) - **模板模式** 串联抽奖全流程(预热→抽奖→发奖) 2. **库存防超卖机制** - 原子操作 `decr` + Redisson 分布式锁兜底 - MQ 消息队列 + 延迟队列实现 **缓存与数据库最终一致性** 3. **分布式系统设计** - 分库分表路由(配置库 `big_market` + 分库 `big_market_01/02`) - XXL-JOB 抢占式锁避免任务重复执行 - Zookeeper 动态配置中心(黑白名单/流量降级) 4. **高性能抽奖算法** - **O(1) 算法**:概率预热至 Redis,随机数匹配区间 - **O(logn) 算法**:范围区间二分查找 + 多线程优化 --- ## ✨ 项目亮点 ### 1️⃣ 规则引擎灵活扩展 - **责任链 + 工厂模式** 动态装配规则节点,支持快速迭代新玩法。 - **二叉树结构规则树** 实现多分支组合过滤,如“积分≥100且抽奖≥3次解锁奖品”。 ### 2️⃣ 高并发防超卖 - **双重保障**:Redis 原子扣减 + 分布式锁兜底,杜绝库存超卖。 - **异步更新**:MQ 消息 + 定时任务降低数据库压力。 ### 3️⃣ 动态化运维能力 - **Zookeeper 配置中心**:实时调整限流阈值、熔断策略。 - **抢占式任务调度**:XXL-JOB 避免多实例重复执行补偿任务。 ### 4️⃣ 算法性能优化 - **概率预热**:活动启动时预计算奖品分布区间,抽奖效率提升 10 倍+。 - **多策略适配**:按奖品数量智能选择循环、二分或多线程算法。