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

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

作者: 崔娜娜    时间: 2018-12-17 14:05
标题: Go语言实战抽奖系统 (前9章)
第1章 课程介绍
% J5 z2 G7 I) [% p# C课程内容的整体介绍以及学习建议。; C2 {8 `, T+ I' ?
1-1 Go抽奖系统导学
" ^# f  L+ D$ {第2章 6种抽奖活动来一遍8 D0 p% y! h& j- g7 o' B) F
看书不如动手,本章将从年会抽奖、彩票刮奖、微信摇一摇、支付宝集福卡、微信抢红包、抽奖大转盘6种抽奖活动的实现出发,让小伙伴切身的体验下如何实现不同的抽奖活动,这些活动实现的差异和难点在哪,并示范用多种方法(互斥锁、atomic、sync.Map等等)解决并发安全问题。...
+ S% m" P1 X1 {$ j2-1 年会抽奖_实现分析
* B9 ]7 S; Z- V' ^: n' I5 Q1 ~9 |2-2 年会抽奖基本功能实现
( L9 W6 s& L" Q  M- o5 Z2-3 编写web单元测试和并发安全问题
! R. N! W. h$ H$ q, x+ |$ P5 O2-4 用互斥锁解决并发安全问题8 P7 N: ]' W3 @/ w& o- }9 A
2-5 彩票_实现分析5 f: m! s# t- u3 z6 I1 q, u3 B3 I
2-6 刮刮乐和双色球. J& A9 I; |, @1 V2 r5 }7 [9 d4 o
2-7 微信摇一摇_实现分析
5 \, I3 ~  `- }0 z2-8 微信摇一摇实现(上)/ y* {% {' ^. }8 g5 @( z8 D3 l
2-9 微信摇一摇实现(下)
9 Y2 @# R: E8 K' ~. x1 L2-10 bug修复和压测
: {7 L9 \3 b8 o  i' ]4 t2-11 支付宝集福卡_实现分析) O, Z) p/ t# U- ]% _0 h
2-12 支付宝集福卡实现
7 w  F% G1 @" E1 r* p0 w2-13 微博抢红包_实现分析
# s6 i# v# Z# x- X" W+ {# d% z2-14 实现发红包- Z2 d1 c6 Z4 \0 E% ]8 g& u. }& `
2-15 实现抢红包: P8 p+ T& r8 Q, Z2 i0 u0 g
2-16 均衡问题和sync.Map解决异常
  d" i4 K& p9 ~. _( F) p& V2-17 改用chan的方式解决并发安全问题. H3 h7 E3 x- E# L( [/ c! ^0 u
2-18 再次压测验证和优化改造; V" w0 T3 r5 m1 e
2-19 抽奖大转盘_实现分析1 x5 U  @' T( T) V( E
2-20 抽奖大转盘初步实现* ?& o0 G+ T# U4 }' N$ q; E2 ^/ X
2-21 sync.Mutex和atomic改造性能对比
2 W1 }0 F' d1 @  a, r- ^! |  R2-22 六种抽奖活动总结
: Q2 f4 K6 d. Q7 L0 j# x4 h3 `; {第3章 系统设计和架构设计2 D7 H$ p. f; a( V% f% k
本章对抽奖系统和架构进行详细的设计。总结前面的开发经验,从需求分析开始入手,整理需求,提炼功能,分析完善用户操作和业务流程、数据库设计、缓存设计要点。
6 i4 l. H1 y% _9 V. ^$ e/ F5 u3-1 需求整理和提炼
% d! [/ D* E6 l+ i. j( J# J# ?! Y3-2 用户操作和业务流程
: z5 `; Q+ N. K3 c: ?3-3 数据库设计
% G* O0 b$ y) q7 o' w3-4 缓存设计
* l: o$ B7 {" G3-5 系统架构设计7 h" r& Q1 L! M
3-6 系统设计和架构设计总结
1 t/ z+ R/ V" S! F第4章 项目框架与核心代码
4 x( O2 d% s4 d# [7 h- {* r$ @本章开始动手使用iris+xorm先把项目框架搭建起来,并且把基础的核心代码(dao,services,comm,用户登录、退出等)完成,为后续的功能开发做基础的准备。
% N! O1 g& |; N0 [) p4-1 项目框架搭建
  u6 t5 k/ `  N  b" H& K4-2 数据模型的生成
/ E0 @* N+ P, T+ |" a4-3 核心的dao和service类. K+ B/ V  V, U6 Y
4-4 定义dao
+ I  w0 i+ d& |) {+ @4-5 定义service
" ]8 v3 b& r' `1 i4-6 定义数据库和redis配置信息
0 A2 r0 |8 K8 \2 E" W  m7 V8 M* N4-7 创建数据库实例及其要点0 D$ k6 P4 c3 D# o( F8 y; e5 i
4-8 创建redis实例及其要点2 C  Y; H& l: n1 e9 y( ?: g
4-9 利用iris建立web站点
5 u  c/ f" X+ D2 t2 D& l4-10 项目配置和通用方法0 G$ k# z$ N4 u) z& t$ Y+ p
4-11 web站点初始化构建' e# S" D  C+ p, [( p9 A6 S* Q
4-12 实现IndexController
4 `- S( q4 w& q6 f+ ^+ D; j4-13 完善路由和main.go文件% a: M! X, ]2 F+ k) a7 Z9 W
4-14 登录和退出:安全值校验和防篡改
: _7 P3 \  c- ^! [3 i9 A第5章 后台功能开发
) h; b; }6 s3 r: }0 q一个可视化的管理后台可以更好的帮助产品运营来自助操作,本章将实现相关功能并完成抽奖活动的定制规则设置。$ f! u+ q! R7 v" ?
5-1 后台功能开发介绍( u5 Z! n) |4 [+ o) C
5-2 页面模板和AdminController
" v8 a. {# c  T3 T6 i% G5 Q5-3 奖品管理实现(上)
7 x3 K" M8 S) R8 O5-4 奖品管理实现(中)
# a- X% f) v( e. n3 @+ \4 a* c5-5 奖品管理实现(下)+ J' X1 P% j- ^! J# v* T
5-6 优惠券管理实现(上)9 `7 K( d$ A5 o% d' D0 `; f
5-7 优惠券管理实现(下)
" [- k8 H# `6 u5-8 中奖记录管理
( a. a; Q& J' ]  k8 z( \5-9 用户管理
! M, p- z: s9 X0 {# ?5-10 IP黑名单管理) n; [0 D- |* `+ {* J, G
第6章 基于mysql的抽奖功能开发, y( `9 l* b" z& V
本章将先完成后端抽奖接口的实现,完成抽奖业务逻辑和数据流程的开发。2 p% a) B0 y/ n; v
6-1 抽奖接口开发细节分析
7 Z7 y# i* u' H! @! x3 M! Y6-2 用户并发操作的锁, B# [4 e) W) l  p" B" p, G' O+ P! ?1 L
6-3 验证用户、IP今日参与次数(上)
& D' }+ @' j( S, K6-4 验证用户、IP今日参与次数(下)" T: G' Y* E& l2 n$ t
6-5 用户、IP黑名单的处理
! o5 x( t8 n, \  d6-6 抽奖的实现0 \( [: T5 U  @3 E7 O
6-7 发奖的实现
) }' x+ H  Y. c$ O( a- W. S' l' T6-8 中奖记录和返回结果
8 u1 z) D! {- O- b" N; {! f* ^) [, @第7章 使用redis缓存优化
( W0 e( Z: u- _+ k7 ?  \, j% {本章引入redis来优化整个系统,减轻对mysql的依赖,提高抽奖接口的性能。, `/ @+ i" f) I1 f; Y
7-1 分析_奖品数据全量缓存
# z5 C2 H1 N4 ]4 C% R0 I: ?1 ~, M7-2 实现_奖品数据全量缓存(上)
$ C; u- ?* n1 s1 l2 z7-3 实现_奖品数据全量缓存(下)* d& j9 L! v' H9 L9 K
7-4 分析_单个用户数据部分缓存
/ C5 J7 [9 m' z, [8 C6 B# {7-5 实现_单个用户数据部分缓存9 k& x  @6 B) O& g4 `' I
7-6 分析_IP黑名单数据缓存- H( J9 u& n0 H! n& w
7-7 实现_IP黑名单数据缓存+ v0 E. ^5 G! a+ j
7-8 优化IP今日抽奖次数
" P5 i; F7 O2 j: K! @) s7-9 优化用户今日抽奖次数( |0 M: M7 }5 n, ?9 ]0 }
7-10 用户今日抽奖次数(上)
' w& ~: e9 [/ Y! w; W7-11 用户今日抽奖次数(下)
1 x- t6 _; ~( _( H$ R, n7-12 为什么要使用奖品池9 ]- |9 T6 H2 V% s6 I  M) J# P! X
7-13 初步使用奖品池' x9 `9 q" ^6 O& @3 ]
7-14 分析_优惠券的全量缓存: J4 t- `: J4 U4 U8 g5 e/ h6 ?: o
7-15 实现_优惠券的全量缓存(上)
# i/ H8 o* ^; K/ u7-16 实现_优惠券的全量缓存(下)) ]3 M4 g' ], L
7-17 使用redis优化总结
! P3 b- i0 s8 N* f5 i/ s第8章 奖品池以及发奖计划的实现
- d3 m7 [6 [6 E6 Y本章实现两个基础服务功能(更新发奖计划,自动填充资源池),来完成奖品的发奖计划数据维护,保证可以合理的把奖品填充到奖品池中。
  e' D. f3 |3 ^8-1 发奖计划设计分析
4 u! Z0 `6 |; C' n8-2 实现发奖计划(上)
/ z+ X- J( M: h6 d+ J8-3 实现发奖计划(中)
- R4 t$ D% T3 k8-4 实现发奖计划(下)
6 m0 _9 g0 L' o$ _  t% v8-5 自动填充奖品池分析) ?( W9 j2 D) i% ]
8-6 实现奖品池(上)
  h- h$ h% r7 z) }- A9 k8-7 实现奖品池(下)
& k$ ~7 b0 d9 b2 C% k" Q6 U8-8 总结发奖计划和奖品池
- j$ t# V4 `/ j0 p* i" W5 q+ ^& Y第9章 完整性演示以及更多总结
% k$ E' }) C4 X实现前端页面的大转盘效果,完整的演示最终的效果。通过不同的设置以及测试方法,利用压力测试工具对系统性能进行分析,深入了解业务逻辑以及技术实现的细节,对系统性能的影响,明白时间消耗的关键点。而更多的思考和总结,让抽奖类活动的有更多玩法。 ..., H3 ~5 X4 F9 I& v5 e) Y8 i
9-1 前端大转盘分析
& z% \4 c$ i  l. e( P9 `- k: w9-2 前端大转盘效果实现& ]$ x# I, T' ]% d) p
9-3 优化奖品设置分析" ~) n) Z/ k) I4 m) H& Y; Z$ N
9-4 优化发放奖品分析
* E5 v6 S& |3 E0 G% Q$ R9-5 再来一次压力测试吧
1 e0 g* [" p! n$ g0 {) V9-6 压力测试
5 B0 n* z% F7 b9-7 更多运营策略; u& D# P6 J& _; P
后面课程待更新。。。/ P3 M6 m: Q  v1 z2 D( b# a
0 K. G+ j' ~, s$ q





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