# redpacket **Repository Path**: FizzP/redpacket ## Basic Information - **Project Name**: redpacket - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-10 - **Last Updated**: 2021-08-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 架构分析 ![](1.jpg) ## 红包系统分析 ## 概述 一个红包系统, 主要分为以下三个部分 > 1. 信息流 包括用户操作背后的请求通过和红包信息在不同用户与用户群的流转 > 2. 业务流 主要包括发红包和抢红包 > 3. 资金流 主要包括背后的资金转账和入账流程. 如何设计架构, 最近在上一门课叫做UML和软件设计. 思考的思路主要如下 > 1. 确定系统的边界, 找出系统的用户和交互对象 > 2. 根据交互对象将系统分为不同的子模块 > 3. 分析每一个子模块, 确定具体的usercase, 从而确定模块的功能 ### 边界和整体流程 ![](4.jpg) ![](2.jpg) ### 发红包 ![](../3) ### 抢红包 ![](5.jpg) ## 开发中自己的一些设计记录 2021-6-20 ### 发红包系统编码 > 1. redis + docker集群环境搭建, 并使用redisTemplate进行集群操作, 并利用python搭建部署脚本. > > 2. 异步写数据库利用SpringBoot@Async实现 > 3. 红包的分配是提前做好的, 而不是实时计算出来的. 为了将算法和业务流程分离, 采用策略模式 + 工厂方法实现. 可以实现分配算法的切换.而不用修改业务逻辑. ![](9.jpg)