登录网站,浏览更多精彩内容
您需要 登录 才可以下载或查看,没有账号?加入我们
×
第1章 课程介绍/ [( i q9 R! I+ h0 n/ m% `1 h
课程内容的整体介绍以及学习建议。7 S8 r" a3 ]1 Z) q
1-1 Go抽奖系统导学 x3 g% [+ R* a$ ]$ I* |
第2章 6种抽奖活动来一遍
+ n |2 V u* V$ s- s看书不如动手,本章将从年会抽奖、彩票刮奖、微信摇一摇、支付宝集福卡、微信抢红包、抽奖大转盘6种抽奖活动的实现出发,让小伙伴切身的体验下如何实现不同的抽奖活动,这些活动实现的差异和难点在哪,并示范用多种方法(互斥锁、atomic、sync.Map等等)解决并发安全问题。...
0 r6 O) {8 _1 @' s2-1 年会抽奖_实现分析' K: j. x0 d' q Y) a+ e3 F1 b
2-2 年会抽奖基本功能实现
O V, m6 D9 u. F2-3 编写web单元测试和并发安全问题
# K% _1 e) ?8 a2-4 用互斥锁解决并发安全问题* U" Q# B# J+ t4 E9 Q7 F) J
2-5 彩票_实现分析
% r" P- I7 Z. g- F, W% H2-6 刮刮乐和双色球
2 g# x/ j: T6 C2-7 微信摇一摇_实现分析
7 K8 M+ S9 W9 O s) c/ u) v8 V2-8 微信摇一摇实现(上)
7 d9 j" L% D0 X, ]2-9 微信摇一摇实现(下)
' V7 j5 t# D/ s( i# g2-10 bug修复和压测6 R. P5 G5 f. i+ x3 M
2-11 支付宝集福卡_实现分析
0 t- d8 E, r% s; K2-12 支付宝集福卡实现
& Z( B# w. f; s2 _8 E: p7 K2-13 微博抢红包_实现分析
& j$ T0 x, c* U" J7 O2-14 实现发红包; A$ k3 S7 t# j- @( p. C" b5 |
2-15 实现抢红包& O2 Y# T. k3 u0 x
2-16 均衡问题和sync.Map解决异常
/ Y+ _) O" |( m7 [4 V) k- K2-17 改用chan的方式解决并发安全问题, q# ]1 U' g% n0 E* j" i, n6 T
2-18 再次压测验证和优化改造. X- u- o: U. _0 A% H& f9 j) K
2-19 抽奖大转盘_实现分析
/ z- V9 G+ m6 @: G2-20 抽奖大转盘初步实现9 W( h P. v" q6 h2 U& w4 b
2-21 sync.Mutex和atomic改造性能对比0 U* S$ Q: H# k
2-22 六种抽奖活动总结
) D. S, ~) d$ y1 L% B% K; [第3章 系统设计和架构设计* Q" Y( U+ Z4 I
本章对抽奖系统和架构进行详细的设计。总结前面的开发经验,从需求分析开始入手,整理需求,提炼功能,分析完善用户操作和业务流程、数据库设计、缓存设计要点。1 x( o7 e3 ?" ~; [/ Y ]
3-1 需求整理和提炼
/ X3 w0 W5 n8 O, a' E# g3-2 用户操作和业务流程
% R" z: E5 t) @% i- N8 r3-3 数据库设计4 o$ `. u8 `! k& i
3-4 缓存设计7 H2 P7 y8 E3 L8 q7 h1 r/ d# S
3-5 系统架构设计9 i4 f* ?- M F- ~1 s2 Z
3-6 系统设计和架构设计总结7 e" Q. w. X' r' _# }# U8 E
第4章 项目框架与核心代码. d/ K' S- N( B, }- {3 s
本章开始动手使用iris+xorm先把项目框架搭建起来,并且把基础的核心代码(dao,services,comm,用户登录、退出等)完成,为后续的功能开发做基础的准备。, P0 a1 ~5 t3 V9 t3 {7 L
4-1 项目框架搭建! A% H! I2 _4 w! i
4-2 数据模型的生成* r' i! e: D1 @7 k7 H1 M
4-3 核心的dao和service类& \. a( J% g; \2 u4 F+ {
4-4 定义dao
$ u9 y8 P+ u( s/ C. J4-5 定义service
" H% R9 s' k9 B; ~4-6 定义数据库和redis配置信息$ ?& [ |/ Q/ k V! i8 N, w f
4-7 创建数据库实例及其要点! f2 Y, v" c2 o, j
4-8 创建redis实例及其要点2 n7 X5 ?. G( o1 G. U
4-9 利用iris建立web站点
) t: X2 p/ N. a5 O" g4-10 项目配置和通用方法& T* D& c6 X+ d4 |2 ]1 Z" \/ H3 P* s
4-11 web站点初始化构建, \2 C& ?/ c A( `# ~
4-12 实现IndexController$ e. T! X# Z3 u, C1 c
4-13 完善路由和main.go文件. t+ X3 D- x }, J
4-14 登录和退出:安全值校验和防篡改2 _) D8 T$ L) G
第5章 后台功能开发 ]' ~) j h* o, M0 I/ D; t
一个可视化的管理后台可以更好的帮助产品运营来自助操作,本章将实现相关功能并完成抽奖活动的定制规则设置。6 e5 O5 h2 p' V% O
5-1 后台功能开发介绍& m* @! x& c! X
5-2 页面模板和AdminController
& A1 J9 t; H" |0 a5-3 奖品管理实现(上)
" r( h' X( M' H8 {, w5 ^6 G6 W3 P/ F5-4 奖品管理实现(中)
. G8 C$ _6 M0 b# y; Q, a2 [" Y x5-5 奖品管理实现(下). k- D' y4 ?' ], s+ f1 ^
5-6 优惠券管理实现(上)
. Q; V: s2 D8 {* O% _. I0 F5-7 优惠券管理实现(下)
O% G$ A+ f8 X; N1 l: F9 p5-8 中奖记录管理
+ I& L( M; [0 n2 E I, a5-9 用户管理1 g9 I4 a: n5 _& K
5-10 IP黑名单管理0 P- L- K& F; o8 ^% g' s
第6章 基于mysql的抽奖功能开发
5 j( e2 a% y+ Y- H, k5 q本章将先完成后端抽奖接口的实现,完成抽奖业务逻辑和数据流程的开发。6 s" ^1 b% V. C6 W
6-1 抽奖接口开发细节分析) m& I& e8 a, ]
6-2 用户并发操作的锁
8 {0 t Z- ^3 E: Y6-3 验证用户、IP今日参与次数(上)8 G% e- n0 W( r/ }
6-4 验证用户、IP今日参与次数(下)
5 \/ X5 a+ {" P6-5 用户、IP黑名单的处理) h: e+ K3 J- I6 o7 c/ |
6-6 抽奖的实现+ W/ [, q3 l/ A* g/ W
6-7 发奖的实现4 h m1 a: }0 x- x6 g; ~1 X
6-8 中奖记录和返回结果; L# _! v' ?( E. L% n. B( c* I
第7章 使用redis缓存优化0 S0 n2 K- F! s. `) o- T2 Q7 U
本章引入redis来优化整个系统,减轻对mysql的依赖,提高抽奖接口的性能。
; C: u9 b% n) i0 Z3 y! h& M7-1 分析_奖品数据全量缓存
: z6 u. s( _) }7-2 实现_奖品数据全量缓存(上)2 {( V6 E5 h, R* y7 a8 B- e7 b
7-3 实现_奖品数据全量缓存(下)
. j/ X, u, v( y' @, D% b* Q7-4 分析_单个用户数据部分缓存
. v" e' j9 V, J7-5 实现_单个用户数据部分缓存
3 P; D6 E- \3 A7-6 分析_IP黑名单数据缓存7 n7 X/ J3 `* z5 _
7-7 实现_IP黑名单数据缓存8 h% r% j2 F. `6 a. _! ]$ A# g* k
7-8 优化IP今日抽奖次数- K& _+ c" Y ~6 i: ]5 _% |* }* T6 J( X
7-9 优化用户今日抽奖次数' H$ x2 t" ^% T( u4 }1 G( J; j
7-10 用户今日抽奖次数(上)
$ M& T9 ] a; y& z. A9 C( G7-11 用户今日抽奖次数(下)7 D. Q* K. v v) L0 u+ @/ h( E
7-12 为什么要使用奖品池$ h. E4 d. b! t* A+ e
7-13 初步使用奖品池 x5 B7 f% k$ L' Q) O
7-14 分析_优惠券的全量缓存
! w2 k$ k- \$ G6 B4 v. N8 |+ A7-15 实现_优惠券的全量缓存(上)
; t: W5 d4 s$ \4 I7-16 实现_优惠券的全量缓存(下)) F0 _3 j2 `& ]: E5 r
7-17 使用redis优化总结/ p: |$ B9 s9 y! J9 b
第8章 奖品池以及发奖计划的实现
5 O+ M& {- ]$ _1 s本章实现两个基础服务功能(更新发奖计划,自动填充资源池),来完成奖品的发奖计划数据维护,保证可以合理的把奖品填充到奖品池中。9 {8 v4 O# a: l0 m) j4 M, M; N
8-1 发奖计划设计分析3 s+ T) u) ~( @8 \6 O: x
8-2 实现发奖计划(上)
: S7 j2 x1 e- G0 l1 ]. ~& T1 ^8-3 实现发奖计划(中)
! i2 V$ s2 p# M8 m$ }8-4 实现发奖计划(下)) l+ {- `# j. p' y4 i4 _; ^
8-5 自动填充奖品池分析
7 X3 u9 b+ R" `6 m$ t i% X8-6 实现奖品池(上)
2 s4 i2 T5 M$ d6 |4 R8-7 实现奖品池(下)/ @% L- V- f3 t' F* n+ o0 e8 F
8-8 总结发奖计划和奖品池. R, h: P; a7 v( Y" H
第9章 完整性演示以及更多总结
( u# J/ y2 C5 l& e实现前端页面的大转盘效果,完整的演示最终的效果。通过不同的设置以及测试方法,利用压力测试工具对系统性能进行分析,深入了解业务逻辑以及技术实现的细节,对系统性能的影响,明白时间消耗的关键点。而更多的思考和总结,让抽奖类活动的有更多玩法。 .../ {" b3 H. {* p- B. g! J! m* u6 m
9-1 前端大转盘分析1 v3 U: U+ H' s9 y7 @* J- }$ H
9-2 前端大转盘效果实现1 a$ F& T6 ]1 g* P3 I o
9-3 优化奖品设置分析
9 F- u8 ? B* d* C9 z( b9-4 优化发放奖品分析
- n, X U3 l9 \$ z9-5 再来一次压力测试吧
: D) c( m: K0 K: h" m8 r, b! z. E9-6 压力测试
* a/ Q9 I9 r$ z. L. U" A/ |* `9-7 更多运营策略2 P4 y" H( |- x1 o! W1 W2 z1 b
后面课程待更新。。。
" v2 A8 d1 Z3 g/ Z, n8 v* w" P5 x; }$ D3 p3 h+ P1 \) `/ u
|
|