• 第1章 课程介绍 试看1 节 | 12分钟

    课程内容的整体介绍以及学习建议,帮助大家全览课程内容,实现高效学习。

    收起列表

    • 视频:1-1 Go抽奖系统导学 (11:04)试看
  • 第2章 6种抽奖活动来一遍 试看25 节 | 169分钟

    看书不如动手,本章将从年会抽奖、彩票刮奖、微信摇一摇、支付宝集福卡、微信抢红包、抽奖大转盘6种抽奖活动的实现出发,让小伙伴切身的体验下如何实现不同的抽奖活动,这些活动实现的差异和难点在哪,并示范用多种方法(互斥锁、atomic、sync.Map等等)解决并发安全问题。…

    收起列表

    • 视频:2-1 年会抽奖_实现分析 (01:22)
    • 视频:2-2 年会抽奖基本功能实现 (13:21)
    • 视频:2-3 编写web单元测试和并发安全问题 (06:55)
    • 视频:2-4 用互斥锁解决并发安全问题 (03:36)
    • 视频:2-5 彩票_实现分析 (01:15)
    • 视频:2-6 刮刮乐和双色球 (15:05)试看
    • 视频:2-7 微信摇一摇_实现分析 (01:10)
    • 视频:2-8 微信摇一摇实现(上) (19:11)
    • 视频:2-9 微信摇一摇实现(下) (18:44)
    • 视频:2-10 bug修复和压测 (08:07)
    • 视频:2-11 支付宝集福卡_实现分析 (01:29)
    • 视频:2-12 支付宝集福卡实现 (15:47)
    • 视频:2-13 微博抢红包_实现分析 (01:48)
    • 视频:2-14 实现发红包 (14:24)
    • 视频:2-15 实现抢红包 (05:26)
    • 视频:2-16 均衡问题和sync.Map解决异常 (10:08)
    • 视频:2-17 改用chan的方式解决并发安全问题 (07:37)
    • 视频:2-18 再次压测验证和优化改造 (05:42)
    • 视频:2-19 抽奖大转盘_实现分析 (01:39)
    • 视频:2-20 抽奖大转盘初步实现 (07:55)
    • 视频:2-21 sync.Mutex和atomic改造性能对比 (05:53)
    • 视频:2-22 六种抽奖活动总结 (01:25)
    • 图文:2-23 并发编程与锁的底层原理
    • 图文:2-24 高并发和高性能系统中锁的影响与解决办法
    • 图文:2-25 阶段任务
  • 第3章 系统设计和架构设计 试看10 节 | 38分钟

    本章对抽奖系统和架构进行详细的设计。总结前面的开发经验,从需求分析开始入手,整理需求,提炼功能,分析完善用户操作和业务流程、数据库设计、缓存设计要点。

    收起列表

    • 视频:3-1 需求整理和提炼 (03:30)
    • 视频:3-2 用户操作和业务流程 (04:56)
    • 视频:3-3 数据库设计 (13:45)
    • 视频:3-4 缓存设计 (06:19)试看
    • 视频:3-5 系统架构设计 (06:57)
    • 视频:3-6 系统设计和架构设计总结 (01:45)
    • 图文:3-7 高性能程序设计,缓存为王
    • 图文:3-8 系统架构升级之道,关注关键服务依赖
    • 图文:3-9 系统设计的三板斧
    • 图文:3-10 阶段任务
  • 第4章 项目框架与核心代码14 节 | 113分钟

    本章开始动手使用iris+xorm先把项目框架搭建起来,并且把基础的核心代码(dao,services,comm,用户登录、退出等)完成,为后续的功能开发做基础的准备。

    收起列表

    • 视频:4-1 项目框架搭建 (05:52)
    • 视频:4-2 数据模型的生成 (04:14)
    • 视频:4-3 核心的dao和service类 (02:46)
    • 视频:4-4 定义dao (15:05)
    • 视频:4-5 定义service (07:04)
    • 视频:4-6 定义数据库和redis配置信息 (04:14)
    • 视频:4-7 创建数据库实例及其要点 (07:15)
    • 视频:4-8 创建redis实例及其要点 (12:03)
    • 视频:4-9 利用iris建立web站点 (00:41)
    • 视频:4-10 项目配置和通用方法 (06:53)
    • 视频:4-11 web站点初始化构建 (14:36)
    • 视频:4-12 实现IndexController (06:21)
    • 视频:4-13 完善路由和main.go文件 (05:55)
    • 视频:4-14 登录和退出:安全值校验和防篡改 (18:55)
  • 第5章 后台功能开发11 节 | 88分钟

    一个可视化的管理后台可以更好的帮助产品运营来自助操作,本章将实现相关功能并完成抽奖活动的定制规则设置。

    收起列表

    • 视频:5-1 后台功能开发介绍 (01:29)
    • 视频:5-2 页面模板和AdminController (14:43)
    • 视频:5-3 奖品管理实现(上) (05:29)
    • 视频:5-4 奖品管理实现(中) (16:47)
    • 视频:5-5 奖品管理实现(下) (15:03)
    • 视频:5-6 优惠券管理实现(上) (08:36)
    • 视频:5-7 优惠券管理实现(下) (07:48)
    • 视频:5-8 中奖记录管理 (06:55)
    • 视频:5-9 用户管理 (06:20)
    • 视频:5-10 IP黑名单管理 (03:50)
    • 图文:5-11 抽奖/秒杀/竞价/评分/权威/投票,合适的方法让活动更出彩
  • 第6章 基于mysql的抽奖功能开发【基础版本】8 节 | 101分钟

    本章将先完成后端抽奖接口的实现,完成抽奖业务逻辑和数据流程的开发。

    收起列表

    • 视频:6-1 抽奖接口开发细节分析 (10:00)
    • 视频:6-2 用户并发操作的锁 (07:33)
    • 视频:6-3 验证用户、IP今日参与次数(上) (09:17)
    • 视频:6-4 验证用户、IP今日参与次数(下) (10:35)
    • 视频:6-5 用户、IP黑名单的处理 (09:30)
    • 视频:6-6 抽奖的实现 (18:12)
    • 视频:6-7 发奖的实现 (19:01)
    • 视频:6-8 中奖记录和返回结果 (16:29)
  • 第7章 使用redis缓存优化【升级版本】17 节 | 100分钟

    本章引入redis来优化整个系统,减轻对mysql的依赖,提高抽奖接口的性能。

    收起列表

    • 视频:7-1 分析_奖品数据全量缓存 (03:39)
    • 视频:7-2 实现_奖品数据全量缓存(上) (13:54)
    • 视频:7-3 实现_奖品数据全量缓存(下) (09:43)
    • 视频:7-4 分析_单个用户数据部分缓存 (01:48)
    • 视频:7-5 实现_单个用户数据部分缓存 (14:15)
    • 视频:7-6 分析_IP黑名单数据缓存 (01:11)
    • 视频:7-7 实现_IP黑名单数据缓存 (02:18)
    • 视频:7-8 优化IP今日抽奖次数 (02:42)
    • 视频:7-9 优化用户今日抽奖次数 (02:35)
    • 视频:7-10 用户今日抽奖次数(上) (07:42)
    • 视频:7-11 用户今日抽奖次数(下) (05:07)
    • 视频:7-12 为什么使用奖品池 (02:29)
    • 视频:7-13 初步使用奖品池 (06:01)
    • 视频:7-14 分析_优惠券的全量缓存 (03:02)
    • 视频:7-15 实现_优惠券的全量缓存(上) (13:49)
    • 视频:7-16 实现_优惠券的全量缓存(下) (06:31)
    • 视频:7-17 使用redis优化总结 (02:55)
  • 第8章 奖品池以及发奖计划的实现【极致版本】8 节 | 87分钟

    本章实现两个基础服务功能(更新发奖计划,自动填充资源池),来完成奖品的发奖计划数据维护,保证可以合理的把奖品填充到奖品池中。

    收起列表

    • 视频:8-1 发奖计划设计分析 (05:10)
    • 视频:8-2 实现发奖计划(上) (22:46)
    • 视频:8-3 实现发奖计划(中) (17:54)
    • 视频:8-4 实现发奖计划(下) (16:37)
    • 视频:8-5 自动填充奖品池分析 (02:42)
    • 视频:8-6 实现奖品池(上) (14:02)
    • 视频:8-7 实现奖品池(下) (05:30)
    • 视频:8-8 总结发奖计划和奖品池 (01:40)
  • 第9章 完整性演示以及更多总结【整体交付】7 节 | 63分钟

    实现前端页面的大转盘效果,完整的演示最终的效果。通过不同的设置以及测试方法,利用压力测试工具对系统性能进行分析,深入了解业务逻辑以及技术实现的细节,对系统性能的影响,明白时间消耗的关键点。而更多的思考和总结,让抽奖类活动的有更多玩法。 …

    收起列表

    • 视频:9-1 前端大转盘分析 (02:25)
    • 视频:9-2 前端大转盘效果实现 (20:51)
    • 视频:9-3 优化奖品设置分析 (06:05)
    • 视频:9-4 优化发放奖品分析 (05:36)
    • 视频:9-5 再来一次压力测试吧 (01:55)
    • 视频:9-6 压力测试 (21:43)
    • 视频:9-7 更多运营策略 (03:34)
  • 第10章 引入thrift框架【附加扩展】8 节 | 67分钟

    通过rpc框架,将抽奖系统服务化,可以更加灵活和简单的接入到更多的业务系统中。

    收起列表

    • 视频:10-1 了解thrift (07:46)
    • 视频:10-2 定义thrift文件 (07:35)
    • 视频:10-3 生成代码 (05:14)
    • 视频:10-4 服务端接口(上) (00:54)
    • 视频:10-5 服务端接口(中) (13:02)
    • 视频:10-6 服务端接口(下) (18:40)
    • 视频:10-7 客户端接口 (10:10)
    • 视频:10-8 总结 (02:37)
  • 第11章 课程总结2 节 | 9分钟

    带大家对课程进行总结,再次回顾课程内容,梳理学习思路,深化学习效果。

    收起列表

    • 视频:11-1 问题与思考 (03:03)
    • 视频:11-2 课程总结 (05:49)
本课程已完结

试看

全部试看小节

讲师

一凡 全栈工程师

10多年的互联网产品研发和团队管理经验,从0到1经历过这段时间各个热门产品的设计和开发,也经历过多次编程语言和平台的转移,在Android和iOS也有所尝试,算是一个技术爱好者。

课前必学

  • iris+xorm Go语言开发球星库

    iris和xorm快速构建Web应用,Go设计开发球星库系统。

    中级·7366人在学
  • 使用Beego构建完整web项目

    快速入门应用Beego框架搭建web项目

    初级·11794人在学
  • Go并发编程案例解析

    课程带你通过一个真实的线上日志监控系统学习Golang以及并发的编程思想。

    中级·14230人在学
  • 搭建并行处理管道,感受GO语言魅力

    通过搭建并行数据处理管道,展示go语言在并发编程方面的优势

    中级·18308人在学

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注