漫潮者,私有云,NAS,新媒体电商.软件开发,商乾

标题: Go语言实战抽奖系统 (前9章) [打印本页]

作者: 崔娜娜    时间: 2018-12-17 14:05
标题: Go语言实战抽奖系统 (前9章)
第1章 课程介绍; P5 _' E& C8 q+ s' ]4 }% c
课程内容的整体介绍以及学习建议。
, F+ F0 u" N/ Y! R' \8 @& K1-1 Go抽奖系统导学/ J- |5 K& n( @: _7 G: w" {+ |+ [
第2章 6种抽奖活动来一遍7 O" }6 e$ ^; {1 H0 N. |& v8 V
看书不如动手,本章将从年会抽奖、彩票刮奖、微信摇一摇、支付宝集福卡、微信抢红包、抽奖大转盘6种抽奖活动的实现出发,让小伙伴切身的体验下如何实现不同的抽奖活动,这些活动实现的差异和难点在哪,并示范用多种方法(互斥锁、atomic、sync.Map等等)解决并发安全问题。...
7 x  t* R+ V4 W& z1 v$ F2-1 年会抽奖_实现分析0 C" b" X" Q  X1 E; ^! {& [
2-2 年会抽奖基本功能实现+ S% }  E9 P) y, t( C6 V
2-3 编写web单元测试和并发安全问题
+ W& [! D( z8 m# f8 O4 O, m7 {- Q2-4 用互斥锁解决并发安全问题
% {1 ]8 z' v8 ^2-5 彩票_实现分析% b2 J; |& b; p" f
2-6 刮刮乐和双色球
3 L: F" U/ D+ o% g" f& S2-7 微信摇一摇_实现分析
' p/ W0 C& s% M, C. r/ ?$ h* p2-8 微信摇一摇实现(上)8 X7 N2 h% K9 G% i1 T+ O6 i0 l; U
2-9 微信摇一摇实现(下)1 C5 M* i' B9 D6 K' F
2-10 bug修复和压测( U. K- ?6 v+ A) K
2-11 支付宝集福卡_实现分析
6 r0 X9 X8 M" n& c2-12 支付宝集福卡实现
+ S% Y7 q% l3 z/ \: O2-13 微博抢红包_实现分析
) g  p8 v) \3 U. b- f2-14 实现发红包
9 f/ J4 d! S& G3 P2-15 实现抢红包) [1 ^2 Q& T+ \# J
2-16 均衡问题和sync.Map解决异常
6 F& H2 H" t& d) O- n2-17 改用chan的方式解决并发安全问题/ G- n- s6 l8 H7 z& y3 t2 D8 z( `
2-18 再次压测验证和优化改造9 l# F2 n6 Q2 Z8 V" i4 O$ g
2-19 抽奖大转盘_实现分析0 V) L. h" {& R
2-20 抽奖大转盘初步实现$ ]5 i' s) H6 ]/ Z, v
2-21 sync.Mutex和atomic改造性能对比
% `+ ?6 a  L! n2-22 六种抽奖活动总结
- q* |# a" d7 Q( K1 ]! s; ]第3章 系统设计和架构设计& ]) k+ U$ P! i
本章对抽奖系统和架构进行详细的设计。总结前面的开发经验,从需求分析开始入手,整理需求,提炼功能,分析完善用户操作和业务流程、数据库设计、缓存设计要点。0 J1 a% [' D" N
3-1 需求整理和提炼
8 r7 w! p' ]4 d1 ~) R4 n3 _3-2 用户操作和业务流程5 @" p4 G& _, {- F3 v% T8 E/ P
3-3 数据库设计/ O- w$ C4 L, w1 [) E
3-4 缓存设计
; [% P; ]  |* D9 f: P3-5 系统架构设计
) @. n- a' n7 ^* a! E3-6 系统设计和架构设计总结  _& j7 U/ S! p5 Z, p2 r
第4章 项目框架与核心代码( \7 B) y8 Y3 s' v3 c1 H1 G2 n! ~
本章开始动手使用iris+xorm先把项目框架搭建起来,并且把基础的核心代码(dao,services,comm,用户登录、退出等)完成,为后续的功能开发做基础的准备。' U7 \) k6 E7 s2 V/ X& S
4-1 项目框架搭建
. z/ e: u- X/ k; g1 N4-2 数据模型的生成
4 N' @1 U! J  z/ {6 `* q4-3 核心的dao和service类
7 u' Z( P# G. {, B, f  d" C4 Q4-4 定义dao9 Q' z3 F* g- J4 o4 [1 ~" ]
4-5 定义service
- g$ g- M& ^- T1 V5 B) e6 k4-6 定义数据库和redis配置信息
' H8 W( U$ @$ ~" v+ e' K- L4-7 创建数据库实例及其要点
7 f! R; E" _6 `& q0 z4-8 创建redis实例及其要点
0 T" E/ g& Y3 u& l4-9 利用iris建立web站点
/ ~2 r- ^1 _2 I4-10 项目配置和通用方法$ F% \4 ~- h, g/ K, g" V7 M
4-11 web站点初始化构建) x* |4 j3 y' @8 D+ y1 w
4-12 实现IndexController
% s) q" I  ~  i5 j1 M6 }5 U& ?4-13 完善路由和main.go文件) {% f4 j4 F8 _1 x* O' P
4-14 登录和退出:安全值校验和防篡改0 W7 G+ _) r- {, j! O
第5章 后台功能开发
+ }6 R& T1 O6 @4 m- M6 Q9 R6 u+ y一个可视化的管理后台可以更好的帮助产品运营来自助操作,本章将实现相关功能并完成抽奖活动的定制规则设置。
: ?% }8 X# W6 R6 u& a5-1 后台功能开发介绍
  b0 [( X' b" z7 k8 m5-2 页面模板和AdminController
+ {, \1 S: c; C  V8 K' H# U5-3 奖品管理实现(上): f5 E8 @, w  a: G
5-4 奖品管理实现(中)
+ a4 t9 d1 o2 M7 ?4 V7 n! D5-5 奖品管理实现(下)) t. a2 O6 r! ?1 p: L9 j+ W1 z
5-6 优惠券管理实现(上)/ f3 Q7 U- o' s; X) j5 y
5-7 优惠券管理实现(下)
0 D' O) Q0 S; E5-8 中奖记录管理
; y& `" M& G, @  Z0 h" S5-9 用户管理* e' x& \- T" O$ z8 h" M7 C
5-10 IP黑名单管理/ P/ k( H2 K# ~' S' m9 A
第6章 基于mysql的抽奖功能开发
) g  I1 T2 @, y/ s; o* f; f4 w+ U9 b本章将先完成后端抽奖接口的实现,完成抽奖业务逻辑和数据流程的开发。
; e! i( p# M, ?6 s8 g% ?6-1 抽奖接口开发细节分析
( P! b3 \6 |* d4 N2 ]- c& {; |$ z6-2 用户并发操作的锁
2 o2 x0 x8 d8 h( d# N- c6-3 验证用户、IP今日参与次数(上)
. W% G5 K% N6 b% F$ e& b; _- T6-4 验证用户、IP今日参与次数(下)
9 u4 f/ n. S, {! ~" s6-5 用户、IP黑名单的处理
7 I9 k% T. u" C# D6-6 抽奖的实现/ t) w4 O6 O% c. u
6-7 发奖的实现/ \' _1 g( i' Y2 X/ \. ?' T
6-8 中奖记录和返回结果# X8 \" i* C# H4 P. m, D
第7章 使用redis缓存优化" G2 z* d8 z' q
本章引入redis来优化整个系统,减轻对mysql的依赖,提高抽奖接口的性能。4 J3 T* ~# y7 h% ]* r
7-1 分析_奖品数据全量缓存
5 {' ?# x/ w9 c$ n5 M* |7-2 实现_奖品数据全量缓存(上)
! j9 `$ e4 |/ F3 T7-3 实现_奖品数据全量缓存(下)
8 h5 O. I( _4 j7-4 分析_单个用户数据部分缓存1 w, y( W7 X7 p2 t3 M
7-5 实现_单个用户数据部分缓存
. j0 x, v1 Y3 ^3 G2 @9 l. Q9 k7-6 分析_IP黑名单数据缓存2 Y/ L8 @$ p2 X/ M" m: @  J
7-7 实现_IP黑名单数据缓存
3 }0 e6 a: w: L# U+ E& T! }7-8 优化IP今日抽奖次数" X+ S6 C# }7 n! V
7-9 优化用户今日抽奖次数/ \4 N0 L3 i. ?& |+ }1 E
7-10 用户今日抽奖次数(上)/ H# o, p  e" w8 C' Z
7-11 用户今日抽奖次数(下)
1 b2 g5 M* o% f" l" d7-12 为什么要使用奖品池
( j6 \/ J0 `7 y7-13 初步使用奖品池; y& p! {5 O, A$ T& i
7-14 分析_优惠券的全量缓存+ _9 Y  f5 L8 v* h' @
7-15 实现_优惠券的全量缓存(上)+ E! _# U# H. K3 z# S, `1 y7 P
7-16 实现_优惠券的全量缓存(下)
9 Q- i% ]2 K* M1 d7-17 使用redis优化总结
/ v7 O4 \" w* G# U* o第8章 奖品池以及发奖计划的实现: Z1 b) ^+ F9 J8 D7 T) ^
本章实现两个基础服务功能(更新发奖计划,自动填充资源池),来完成奖品的发奖计划数据维护,保证可以合理的把奖品填充到奖品池中。
. k4 A) G" Z2 p8-1 发奖计划设计分析
3 `8 M3 X% \, ^7 T" i8-2 实现发奖计划(上)
& @& ~, r3 `5 q7 R8-3 实现发奖计划(中)9 v  C- o' B! w+ K% D% w9 K1 h
8-4 实现发奖计划(下)8 B# c2 R  x( [0 B! k
8-5 自动填充奖品池分析
9 q- [; J) Q6 I& \1 ]5 Y8-6 实现奖品池(上)4 s8 m  l* U% k- U
8-7 实现奖品池(下)
- p  k! P3 E5 W" q3 k8-8 总结发奖计划和奖品池4 a" {0 S6 D% Q  |
第9章 完整性演示以及更多总结! N9 v; n+ B* I6 J6 u5 ^; c6 O
实现前端页面的大转盘效果,完整的演示最终的效果。通过不同的设置以及测试方法,利用压力测试工具对系统性能进行分析,深入了解业务逻辑以及技术实现的细节,对系统性能的影响,明白时间消耗的关键点。而更多的思考和总结,让抽奖类活动的有更多玩法。 ...
6 X5 D- o+ p  I5 J) {5 H! C9-1 前端大转盘分析/ e. o& a/ v3 k) }4 i7 S' a
9-2 前端大转盘效果实现* S: Z2 z; ]6 e$ N2 X; @2 g6 @$ K
9-3 优化奖品设置分析
2 K+ a0 r5 }# V; f2 Z; F2 G9-4 优化发放奖品分析
2 z1 P8 M2 h1 I9-5 再来一次压力测试吧
+ {3 \: P: C. h/ g9-6 压力测试
% N( D0 q  ?; N; u$ C" R* F9-7 更多运营策略9 r1 V( T% W7 s8 l0 G/ U/ P
后面课程待更新。。。
# i% Z0 v" [. r: |* F. F4 c; K9 g0 n2 D8 z9 }7 P: D2 Q0 ^





欢迎光临 漫潮者,私有云,NAS,新媒体电商.软件开发,商乾 (https://www.aurrel.com/) Powered by Discuz! X3.4