登录网站,浏览更多精彩内容
您需要 登录 才可以下载或查看,没有账号?加入我们
×
第1章 课程介绍
7 c: f$ ]1 N8 X! m2 u% S课程内容的整体介绍以及学习建议。4 A3 m2 D9 K! ]4 t
1-1 Go抽奖系统导学
( ^3 e) B- }" O) C% m第2章 6种抽奖活动来一遍
4 U" |( q9 L8 @3 j: V! V看书不如动手,本章将从年会抽奖、彩票刮奖、微信摇一摇、支付宝集福卡、微信抢红包、抽奖大转盘6种抽奖活动的实现出发,让小伙伴切身的体验下如何实现不同的抽奖活动,这些活动实现的差异和难点在哪,并示范用多种方法(互斥锁、atomic、sync.Map等等)解决并发安全问题。...
* b7 c7 k8 N0 U9 U2 w# {) f) J2-1 年会抽奖_实现分析) [) o3 ?3 s1 O+ r; R
2-2 年会抽奖基本功能实现: K# G0 Y, r, l* V& o/ q
2-3 编写web单元测试和并发安全问题
5 B. V4 Z6 y% F; i2-4 用互斥锁解决并发安全问题
, Y$ M4 F, |. g* L4 S" d* e2-5 彩票_实现分析# W- }3 O% A% _) A7 p9 Y x
2-6 刮刮乐和双色球
" P& Y) j. i2 D/ @- ^ y2-7 微信摇一摇_实现分析
% e; X# \: P( v4 |0 }2-8 微信摇一摇实现(上) t+ \, j# N; }& Q$ y$ p
2-9 微信摇一摇实现(下)
: U. b3 f9 E ?" r2-10 bug修复和压测+ Q0 R/ a! S4 U; [4 C
2-11 支付宝集福卡_实现分析1 n* y/ m) [" P$ Q% r
2-12 支付宝集福卡实现
/ n7 _; h, R5 K5 ]/ S8 l* Z; |2-13 微博抢红包_实现分析7 J/ E- N& i; O, J9 K
2-14 实现发红包" t# m, g. P& R1 h: ?' o
2-15 实现抢红包' ]; u( ]6 U) o8 Q7 v
2-16 均衡问题和sync.Map解决异常$ h; R* D& g- a0 Q1 T5 `1 W
2-17 改用chan的方式解决并发安全问题
; t& v$ T7 Y3 u5 ]; h8 r/ O/ {2-18 再次压测验证和优化改造
/ d3 E& Z1 W0 o6 X' o4 |2-19 抽奖大转盘_实现分析1 N8 i8 j; n4 V- m; `1 j Y) l# f% o
2-20 抽奖大转盘初步实现* P6 {; t& F( A6 G' E! g5 O/ ?
2-21 sync.Mutex和atomic改造性能对比# P4 p4 H5 y2 X4 C. A. |
2-22 六种抽奖活动总结! w- [3 n6 x6 N7 _
第3章 系统设计和架构设计. S* x0 E7 j8 V n2 I1 K
本章对抽奖系统和架构进行详细的设计。总结前面的开发经验,从需求分析开始入手,整理需求,提炼功能,分析完善用户操作和业务流程、数据库设计、缓存设计要点。& j3 B& K, |- P0 {
3-1 需求整理和提炼
Y3 v8 k2 B I) @ y3-2 用户操作和业务流程
* h9 A. F, s0 o: n9 B+ P3-3 数据库设计
8 N0 X7 A* `. x7 Q: E, w2 h5 [3 U3-4 缓存设计
7 N8 Y: u! C2 l' K% x4 H8 g, W* b3-5 系统架构设计& j1 N* E {& e$ t
3-6 系统设计和架构设计总结
! _# U G% V! H. }- I9 L% r第4章 项目框架与核心代码
0 Y9 ? ?; T( z l( U; Z( K本章开始动手使用iris+xorm先把项目框架搭建起来,并且把基础的核心代码(dao,services,comm,用户登录、退出等)完成,为后续的功能开发做基础的准备。7 [! ^: s5 I; ]4 T5 q( n+ _5 f
4-1 项目框架搭建
9 {- a% z! r" B, R) o4-2 数据模型的生成
: Y( f7 o. i% h. h4-3 核心的dao和service类0 i. ~* |# y# _, j+ p* S
4-4 定义dao9 e# [' h6 e9 J! }, t& P9 i
4-5 定义service& Z/ E7 |7 b( d
4-6 定义数据库和redis配置信息# c- b/ j2 x( p- _
4-7 创建数据库实例及其要点% H! K4 m, D& x
4-8 创建redis实例及其要点, q- \3 S8 |9 }! G7 K$ W/ y
4-9 利用iris建立web站点( r6 x; W, c$ `5 S( A Z. d0 `
4-10 项目配置和通用方法* \ }) \, e* d% G8 {
4-11 web站点初始化构建
( G2 e3 u! A) R1 o6 i& N4-12 实现IndexController: E+ e8 o" b1 x$ ^: R6 F1 x" F/ ~3 o9 Z3 ^
4-13 完善路由和main.go文件
4 E# o9 N( t& v1 n. B- g4-14 登录和退出:安全值校验和防篡改& J+ b5 y8 F' Z( V0 x( A6 v
第5章 后台功能开发
; c) e; i9 T3 T: w# }9 V$ T一个可视化的管理后台可以更好的帮助产品运营来自助操作,本章将实现相关功能并完成抽奖活动的定制规则设置。
2 a6 V) Q2 v& V8 Q1 G% L2 o5-1 后台功能开发介绍7 J& C2 ? q& ^* z% u
5-2 页面模板和AdminController+ B* d) u; l. m& m( C
5-3 奖品管理实现(上)
% x& f% x; d3 B5-4 奖品管理实现(中)
7 A* s3 u" X2 M; d5-5 奖品管理实现(下)
8 b) D: K4 ]6 ^5 r0 p% m5-6 优惠券管理实现(上)$ f9 m. C2 {1 Y$ |
5-7 优惠券管理实现(下)
& C+ h' i# z2 b: ^0 `" y: Y& g5-8 中奖记录管理1 b( K0 y' F- @* x( D7 R
5-9 用户管理3 |% n% ~3 R) x5 e
5-10 IP黑名单管理 l. a( m- I( u9 Q+ r
第6章 基于mysql的抽奖功能开发
/ O' H$ V# G; R) r( n9 y/ x; z5 o本章将先完成后端抽奖接口的实现,完成抽奖业务逻辑和数据流程的开发。
G2 H2 d* o5 N& F+ x/ ]6-1 抽奖接口开发细节分析4 W. w( C5 W5 h! D$ C( u7 E9 {
6-2 用户并发操作的锁
/ G5 [6 }$ D& h# S5 z- L6-3 验证用户、IP今日参与次数(上)
6 n: v! x ?* F* S6-4 验证用户、IP今日参与次数(下)
% g( Y# I- V$ o4 B6-5 用户、IP黑名单的处理
, g- @6 [3 X9 y6-6 抽奖的实现6 ^4 `* a3 V( [
6-7 发奖的实现( R0 i m6 \3 Y0 S% [5 E8 }( c
6-8 中奖记录和返回结果
; M( d# s+ O6 `0 D8 |第7章 使用redis缓存优化
6 G& ]6 @8 P# l t" y( H本章引入redis来优化整个系统,减轻对mysql的依赖,提高抽奖接口的性能。
' s! s1 }* w# b2 Q7-1 分析_奖品数据全量缓存8 y6 S3 m' z7 P; ]+ L
7-2 实现_奖品数据全量缓存(上)( X9 `2 N. L: ^7 O/ \. k
7-3 实现_奖品数据全量缓存(下)
* V; F( D& W1 H6 V7-4 分析_单个用户数据部分缓存
8 r) M: E. c4 r7-5 实现_单个用户数据部分缓存: T( b1 T% A$ ]3 _/ Z
7-6 分析_IP黑名单数据缓存
6 B; Y. V* }' n7-7 实现_IP黑名单数据缓存
) j8 O" o9 f% P+ x3 T7-8 优化IP今日抽奖次数4 x' n! k; v# _+ P' q
7-9 优化用户今日抽奖次数
' @9 f- G# j' v& k. d7 n7-10 用户今日抽奖次数(上). y: P `' x7 K" u- L; l& I f
7-11 用户今日抽奖次数(下)
5 W) r( |" U: o' w7 Y7-12 为什么要使用奖品池
0 w5 t! J: r4 S9 b9 J" X# l7 a7-13 初步使用奖品池7 y( b4 z$ ]( I4 B& d5 W7 U4 t+ E
7-14 分析_优惠券的全量缓存
/ f4 @. \" e2 j5 S3 ~% k; _+ B# k7-15 实现_优惠券的全量缓存(上)* w7 u$ ]0 N1 R# k
7-16 实现_优惠券的全量缓存(下)
# t y8 w5 _7 a$ |8 }' f7-17 使用redis优化总结
( V2 J! j! I. w1 }第8章 奖品池以及发奖计划的实现9 D4 [, _" m0 X- J) |. d1 b
本章实现两个基础服务功能(更新发奖计划,自动填充资源池),来完成奖品的发奖计划数据维护,保证可以合理的把奖品填充到奖品池中。' Q) t9 O `- h6 @& f! V5 r9 {. t
8-1 发奖计划设计分析8 Y. m+ D' g6 @# |# _. H
8-2 实现发奖计划(上)
- T2 M+ S; v# E" D! w- Q3 F3 N$ e8-3 实现发奖计划(中)
1 ?+ ] J$ F/ u2 @8 e4 i4 E( q8-4 实现发奖计划(下)( E2 |1 d; @1 `+ }( {& y/ o; `
8-5 自动填充奖品池分析
* W0 Q8 P Y' N$ e; _( [: \8-6 实现奖品池(上) f6 B& E, ]' B. X: U& s
8-7 实现奖品池(下)' M. E% z: y& B' t! Q i) j
8-8 总结发奖计划和奖品池
9 |: r7 e$ b& I第9章 完整性演示以及更多总结
( a# I9 X% t/ _0 ?实现前端页面的大转盘效果,完整的演示最终的效果。通过不同的设置以及测试方法,利用压力测试工具对系统性能进行分析,深入了解业务逻辑以及技术实现的细节,对系统性能的影响,明白时间消耗的关键点。而更多的思考和总结,让抽奖类活动的有更多玩法。 ...6 U# O) \7 }- I/ W+ w* B' a* C/ `/ N
9-1 前端大转盘分析' ?7 U" |: n. N( H9 d% @- t
9-2 前端大转盘效果实现
% v5 e% R6 C p9 w3 m9 r+ r7 `9-3 优化奖品设置分析, ]; V! ?9 ~& t" t- ^; t! o
9-4 优化发放奖品分析
9 p( W+ b6 I/ N! V! j# q9-5 再来一次压力测试吧
& q7 K+ g, e! ~5 d1 S9-6 压力测试
7 n2 a- L7 b, k% `$ b% i9-7 更多运营策略8 u3 `% p P! {, H. G
后面课程待更新。。。
) L0 ]7 \$ ?$ i$ F
, O l4 m" i* S |
|