Go语言实战抽奖系统-2018年M课网

〖课程介绍〗:
        抽奖系统属于典型的高并发和高性能的系统,同时,业务需求复杂多变,对系统的灵活性和稳定性要求同样非常高。本课程先为大家剖析多种抽奖活动的共性和特性,再设计和开发抽奖大转盘系统的后台和接口。从基本功能的开发到使用redis步步优化,以及后续的策略对比,通过压力测试,让小伙伴直观的了解不同的设置导致的的性能差异,探究性能影响的关键因素。通过这门课程的学习,可以对系统的性能、并发、灵活、可靠等方面有更多的理解和掌握,迅速提升,达到中高级工程师的水平!

〖课程目录〗:
        第1章 课程介绍
        课程内容的整体介绍以及学习建议。
                1-1 Go抽奖系统导学

        第2章 6种抽奖活动来一遍
        看书不如动手,本章将从年会抽奖、彩票刮奖、微信摇一摇、支付宝集福卡、微信抢红包、抽奖大转盘6种抽奖活动的实现出发,让小伙伴切身的体验下如何实现不同的抽奖活动,这些活动实现的差异和难点在哪,并示范用多种方法(互斥锁、atomic、sync.Map等等)解决并发安全问题。...
                2-1 年会抽奖_实现分析
                2-2 年会抽奖基本功能实现
                2-3 编写web单元测试和并发安全问题
                2-4 用互斥锁解决并发安全问题
                2-5 彩票_实现分析
                2-6 刮刮乐和双色球
                2-7 微信摇一摇_实现分析
                2-8 微信摇一摇实现(上)
                2-9 微信摇一摇实现(下)
                2-10 bug修复和压测
                2-11 支付宝集福卡_实现分析
                2-12 支付宝集福卡实现
                2-13 微博抢红包_实现分析
                2-14 实现发红包
                2-15 实现抢红包
                2-16 均衡问题和sync.Map解决异常
                2-17 改用chan的方式解决并发安全问题
                2-18 再次压测验证和优化改造
                2-19 抽奖大转盘_实现分析
                2-20 抽奖大转盘初步实现
                2-21 sync.Mutex和atomic改造性能对比
                2-22 六种抽奖活动总结

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

        第4章 项目框架与核心代码
        本章开始动手使用iris+xorm先把项目框架搭建起来,并且把基础的核心代码(dao,services,comm,用户登录、退出等)完成,为后续的功能开发做基础的准备。
                4-1 项目框架搭建
                4-2 数据模型的生成
                4-3 核心的dao和service类
                4-4 定义dao
                4-5 定义service
                4-6 定义数据库和redis配置信息
                4-7 创建数据库实例及其要点
                4-8 创建redis实例及其要点
                4-9 利用iris建立web站点
                4-10 项目配置和通用方法
                4-11 web站点初始化构建
                4-12 实现IndexController
                4-13 完善路由和main.go文件
                4-14 登录和退出:安全值校验和防篡改

        第5章 后台功能开发
        一个可视化的管理后台可以更好的帮助产品运营来自助操作,本章将实现相关功能并完成抽奖活动的定制规则设置。
                5-1 后台功能开发介绍
                5-2 页面模板和AdminController
                5-3 奖品管理实现(上)
                5-4 奖品管理实现(中)
                5-5 奖品管理实现(下)
                5-6 优惠券管理实现(上)
                5-7 优惠券管理实现(下)
                5-8 中奖记录管理
                5-9 用户管理

        5-10 IP黑名单管理
        第6章 基于mysql的抽奖功能开发
        本章将先完成后端抽奖接口的实现,完成抽奖业务逻辑和数据流程的开发。
                6-1 抽奖接口开发细节分析
                6-2 用户并发操作的锁
                6-3 验证用户、IP今日参与次数(上)
                6-4 验证用户、IP今日参与次数(下)
                6-5 用户、IP黑名单的处理
                6-6 抽奖的实现
                6-7 发奖的实现
                6-8 中奖记录和返回结果

        第7章 使用redis缓存优化
        本章引入redis来优化整个系统,减轻对mysql的依赖,提高抽奖接口的性能。
                7-1 分析_奖品数据全量缓存
                7-2 实现_奖品数据全量缓存(上)
                7-3 实现_奖品数据全量缓存(下)
                7-4 分析_单个用户数据部分缓存
                7-5 实现_单个用户数据部分缓存
                7-6 分析_IP黑名单数据缓存
                7-7 实现_IP黑名单数据缓存
                7-8 优化IP今日抽奖次数
                7-9 优化用户今日抽奖次数
                7-10 用户今日抽奖次数(上)
                7-11 用户今日抽奖次数(下)
                7-12 为什么要使用奖品池
                7-13 初步使用奖品池
                7-14 分析_优惠券的全量缓存
                7-15 实现_优惠券的全量缓存(上)
                7-16 实现_优惠券的全量缓存(下)
                7-17 使用redis优化总结

        第8章 奖品池以及发奖计划的实现
        本章实现两个基础服务功能(更新发奖计划,自动填充资源池),来完成奖品的发奖计划数据维护,保证可以合理的把奖品填充到奖品池中。
                8-1 发奖计划设计分析
                8-2 实现发奖计划(上)
                8-3 实现发奖计划(中)
                8-4 实现发奖计划(下)
                8-5 自动填充奖品池分析
                8-6 实现奖品池(上)
                8-7 实现奖品池(下)
                8-8 总结发奖计划和奖品池

        第9章 完整性演示以及更多总结
        实现前端页面的大转盘效果,完整的演示最终的效果。通过不同的设置以及测试方法,利用压力测试工具对系统性能进行分析,深入了解业务逻辑以及技术实现的细节,对系统性能的影响,明白时间消耗的关键点。而更多的思考和总结,让抽奖类活动的有更多玩法。 ...
                9-1 前端大转盘分析
                9-2 前端大转盘效果实现
                9-3 优化奖品设置分析
                9-4 优化发放奖品分析
                9-5 再来一次压力测试吧
                9-6 压力测试
                9-7 更多运营策略

        第10章 引入thrift框架
        通过rpc框架,将抽奖系统服务化,可以更加灵活和简单的接入到更多的业务系统中。
                10-1 了解thrift
                10-2 定义thrift文件
                10-3 生成代码
                10-4 服务端接口(上)
                10-5 服务端接口(中)
                10-6 服务端接口(下)
                10-7 客户端接口
                10-8 总结

        第11章 课程总结
        对课程进行总结
                11-1 问题与思考
                11-2 课程总结

 

下载地址:百度网盘

〖课程介绍〗:
        抽奖系统属于典型的高并发和高性能的系统,同时,业务需求复杂多变,对系统的灵活性和稳定性要求同样非常高。本课程先为大家剖析多种抽奖活动的共性和特性,再设计和开发抽奖大转盘系统的后台和接口。从基本功能的开发到使用redis步步优化,以及后续的策略对比,通过压力测试,让小伙伴直观的了解不同的设置导致的的性能差异,探究性能影响的关键因素。通过这门课程的学习,可以对系统的性能、并发、灵活、可靠等方面有更多的理解和掌握,迅速提升,达到中高级工程师的水平!

〖课程目录〗:
        第1章 课程介绍
        课程内容的整体介绍以及学习建议。
                1-1 Go抽奖系统导学

        第2章 6种抽奖活动来一遍
        看书不如动手,本章将从年会抽奖、彩票刮奖、微信摇一摇、支付宝集福卡、微信抢红包、抽奖大转盘6种抽奖活动的实现出发,让小伙伴切身的体验下如何实现不同的抽奖活动,这些活动实现的差异和难点在哪,并示范用多种方法(互斥锁、atomic、sync.Map等等)解决并发安全问题。...
                2-1 年会抽奖_实现分析
                2-2 年会抽奖基本功能实现
                2-3 编写web单元测试和并发安全问题
                2-4 用互斥锁解决并发安全问题
                2-5 彩票_实现分析
                2-6 刮刮乐和双色球
                2-7 微信摇一摇_实现分析
                2-8 微信摇一摇实现(上)
                2-9 微信摇一摇实现(下)
                2-10 bug修复和压测
                2-11 支付宝集福卡_实现分析
                2-12 支付宝集福卡实现
                2-13 微博抢红包_实现分析
                2-14 实现发红包
                2-15 实现抢红包
                2-16 均衡问题和sync.Map解决异常
                2-17 改用chan的方式解决并发安全问题
                2-18 再次压测验证和优化改造
                2-19 抽奖大转盘_实现分析
                2-20 抽奖大转盘初步实现
                2-21 sync.Mutex和atomic改造性能对比
                2-22 六种抽奖活动总结

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

        第4章 项目框架与核心代码
        本章开始动手使用iris+xorm先把项目框架搭建起来,并且把基础的核心代码(dao,services,comm,用户登录、退出等)完成,为后续的功能开发做基础的准备。
                4-1 项目框架搭建
                4-2 数据模型的生成
                4-3 核心的dao和service类
                4-4 定义dao
                4-5 定义service
                4-6 定义数据库和redis配置信息
                4-7 创建数据库实例及其要点
                4-8 创建redis实例及其要点
                4-9 利用iris建立web站点
                4-10 项目配置和通用方法
                4-11 web站点初始化构建
                4-12 实现IndexController
                4-13 完善路由和main.go文件
                4-14 登录和退出:安全值校验和防篡改

        第5章 后台功能开发
        一个可视化的管理后台可以更好的帮助产品运营来自助操作,本章将实现相关功能并完成抽奖活动的定制规则设置。
                5-1 后台功能开发介绍
                5-2 页面模板和AdminController
                5-3 奖品管理实现(上)
                5-4 奖品管理实现(中)
                5-5 奖品管理实现(下)
                5-6 优惠券管理实现(上)
                5-7 优惠券管理实现(下)
                5-8 中奖记录管理
                5-9 用户管理

        5-10 IP黑名单管理
        第6章 基于mysql的抽奖功能开发
        本章将先完成后端抽奖接口的实现,完成抽奖业务逻辑和数据流程的开发。
                6-1 抽奖接口开发细节分析
                6-2 用户并发操作的锁
                6-3 验证用户、IP今日参与次数(上)
                6-4 验证用户、IP今日参与次数(下)
                6-5 用户、IP黑名单的处理
                6-6 抽奖的实现
                6-7 发奖的实现
                6-8 中奖记录和返回结果

        第7章 使用redis缓存优化
        本章引入redis来优化整个系统,减轻对mysql的依赖,提高抽奖接口的性能。
                7-1 分析_奖品数据全量缓存
                7-2 实现_奖品数据全量缓存(上)
                7-3 实现_奖品数据全量缓存(下)
                7-4 分析_单个用户数据部分缓存
                7-5 实现_单个用户数据部分缓存
                7-6 分析_IP黑名单数据缓存
                7-7 实现_IP黑名单数据缓存
                7-8 优化IP今日抽奖次数
                7-9 优化用户今日抽奖次数
                7-10 用户今日抽奖次数(上)
                7-11 用户今日抽奖次数(下)
                7-12 为什么要使用奖品池
                7-13 初步使用奖品池
                7-14 分析_优惠券的全量缓存
                7-15 实现_优惠券的全量缓存(上)
                7-16 实现_优惠券的全量缓存(下)
                7-17 使用redis优化总结

        第8章 奖品池以及发奖计划的实现
        本章实现两个基础服务功能(更新发奖计划,自动填充资源池),来完成奖品的发奖计划数据维护,保证可以合理的把奖品填充到奖品池中。
                8-1 发奖计划设计分析
                8-2 实现发奖计划(上)
                8-3 实现发奖计划(中)
                8-4 实现发奖计划(下)
                8-5 自动填充奖品池分析
                8-6 实现奖品池(上)
                8-7 实现奖品池(下)
                8-8 总结发奖计划和奖品池

        第9章 完整性演示以及更多总结
        实现前端页面的大转盘效果,完整的演示最终的效果。通过不同的设置以及测试方法,利用压力测试工具对系统性能进行分析,深入了解业务逻辑以及技术实现的细节,对系统性能的影响,明白时间消耗的关键点。而更多的思考和总结,让抽奖类活动的有更多玩法。 ...
                9-1 前端大转盘分析
                9-2 前端大转盘效果实现
                9-3 优化奖品设置分析
                9-4 优化发放奖品分析
                9-5 再来一次压力测试吧
                9-6 压力测试
                9-7 更多运营策略

        第10章 引入thrift框架
        通过rpc框架,将抽奖系统服务化,可以更加灵活和简单的接入到更多的业务系统中。
                10-1 了解thrift
                10-2 定义thrift文件
                10-3 生成代码
                10-4 服务端接口(上)
                10-5 服务端接口(中)
                10-6 服务端接口(下)
                10-7 客户端接口
                10-8 总结

        第11章 课程总结
        对课程进行总结
                11-1 问题与思考
                11-2 课程总结

猜你喜欢

转载自www.cnblogs.com/R-bear/p/10117141.html