收藏

全流程开发 GO实战电商网站高并发秒杀系统

从需求分析到性能优化,一站式掌握“秒杀”类应用架构思维和解决方案

全流程开发 GO实战电商网站高并发秒杀系统

难度 中级 时长 15小时 学习人数 1175 综合评分 9.96

全流程开发 GO实战电商网站高并发秒杀系统

  • 第1章 课程学前须知 试看 2 节 | 9分钟

    本章对这门课程进行说明,包括:秒杀系统涉及模块的介绍,秒杀核心的知识点的介绍,课程的学习规划等。

    收起列表

    • 视频: 1-1 课程介绍 (08:07) 试看
    • 图文: 1-2 ***学前必读***(助你平稳踩坑,畅学无忧,课程学习与解决问题指南)
  • 第2章 秒杀系统需求整理&系统设计 【明确需求】 5 节 | 15分钟

    本章对秒杀系统整体需求进行梳理,明确系统具体需求,讲解系统原型设计工具的使用,并结合秒杀系统进行整体架构设计。

    收起列表

    • 视频: 2-1 需求分析 (10:09)
    • 视频: 2-2 系统架构设计 (04:10)
    • 图文: 2-3 【总结&扩展】需求整理&系统设计
    • 图文: 2-4 阶段练习题
    • 作业: 2-5 公司的架构有许多地方不合理,该如何通过自己的努力来改变?
  • 第3章 环境搭建之初识RabbitMQ 【性能优化核心组件初探】 试看 13 节 | 83分钟

    本章介绍如何搭建RabbitMQ 环境,并且介绍RabbitMQ核心概念,以及RabbitMQ在日常工作中常用的5种模式,并且讲解不同模式下存在的差异和适用场景。

    收起列表

    • 视频: 3-1 RabbitMQ 环境安装 (04:24)
    • 视频: 3-2 RabbitMQ常用命令及管理界面 (05:27)
    • 视频: 3-3 RabbitMQ核心概念 (05:28)
    • 视频: 3-4 RabbitMQ工作模式---Simple模式(上) (18:33)
    • 视频: 3-5 RabbitMQ工作模式---Simple模式(中) (10:34)
    • 视频: 3-6 RabbitMQ工作模式---Simple模式(下) (15:23)
    • 视频: 3-7 RabbitMQ工作模式---Work模式 (03:29)
    • 视频: 3-8 RabbitMQ工作模式---Publish模式 (08:22) 试看
    • 视频: 3-9 RabbitMQ工作模式---Routing模式 (06:09)
    • 视频: 3-10 RabbitMQ工作模式---Topic模式 (04:45)
    • 图文: 3-11 【扩展资料】CentOS7 之基础设置及常见操作命令
    • 图文: 3-12 【阶段总结】环境搭建之初识RabbitMQ
    • 图文: 3-13 本阶段练习题
  • 第4章 环境搭建之Iris 框架入门 【系统核心架构初探】 6 节 | 29分钟

    本章重点介绍了GO语言web框架iris的入门知识,主要包括:介绍iris中mvc基础概念,mvc 工作流程,代码目录结构等。

    收起列表

    • 视频: 4-1 Iris框架入门---MVC是什么 (05:31)
    • 视频: 4-2 Iris框架入门---MVC目录结构及main.go介绍 (07:57)
    • 视频: 4-3 Iris框架入门---快速入门案例 (15:26)
    • 图文: 4-4 扩展资料:Iris框架核心源码解读和分析
    • 图文: 4-5 【阶段总结】环境搭建之Iris 框架入门
    • 图文: 4-6 本阶段练习题
  • 第5章 后台管理功能开发之商品管理功能开发【核心业务功能开发】 试看 20 节 | 119分钟

    本章将应用Iris框架,完成后台商品管理功能的开发,带领同学们在了解GO语言web开发的流程和顺序的基础上,进一步结合业务需求,完成系统核心业务功能开发。

    收起列表

    • 视频: 5-1 Iris V12 与 V11 兼容说明及Go mod 使用说明 (04:59)
    • 视频: 5-2 项目结构搭建&main.go编写 (12:24)
    • 视频: 5-3 商品模型开发 (04:11)
    • 视频: 5-4 商品repository开发---数据连接 (11:41)
    • 图文: 5-5 【扩展资料】Struct中接口类型
    • 视频: 5-6 商品repository开发---插入 (09:50)
    • 视频: 5-7 商品repository开发---删除&更新 (07:10)
    • 视频: 5-8 商品repository开发---查询单条记录 (16:45)
    • 视频: 5-9 商品repository开发---查询所有记录 (08:10)
    • 视频: 5-10 商品管理功能 service 实现 (08:36) 试看
    • 视频: 5-11 商品管理功能Controller&View开发 (上) (12:02)
    • 图文: 5-12 扩展资料:form.go 用法说明
    • 视频: 5-13 商品管理功能Controller&View开发 (中) (08:06)
    • 视频: 5-14 商品管理功能controller&View开发(下) (14:19)
    • 图文: 5-15 扩展资料:Golang 模板(template)的基本语法
    • 图文: 5-16 扩展资料:什么是中间件?
    • 作业: 5-17 作业节
    • 图文: 5-18 阶段总结:后台管理功能开发之商品管理功能开发
    • 图文: 5-19 【勤于思考,夯实学习成果】阶段练习题
    • 作业: 5-20 该如何应对我非常努力的完成了工作,却被要求重做
  • 第6章 后台管理功能开发之订单功能开发【核心业务功能开发】 9 节 | 56分钟

    本章将带领小伙伴们继续开发,基于Iris框架应用完成后台管理功能的订单管理模块。

    收起列表

    • 视频: 6-1 订单管理功能开发---model开发 (03:05)
    • 视频: 6-2 订单管理功能开发---repository开发(上) (10:48)
    • 视频: 6-3 订单管理功能开发---repository开发(中) (09:36)
    • 视频: 6-4 订单管理功能开发---repository开发(下) (05:49)
    • 视频: 6-5 订单管理功能开发---service开发 (10:42)
    • 视频: 6-6 订单管理功能开发---Controller&View开发 (15:24)
    • 图文: 6-7 【扩展资料】Go语言中的Tag语法
    • 图文: 6-8 【阶段总结】后台管理功能开发之订单功能开发
    • 图文: 6-9 【勤于思考,夯实学习成果】阶段练习题
  • 第7章 秒杀前台功能开发 之用户注册登录功能开发【核心业务功能开发】 10 节 | 73分钟

    本章主要介绍如何应用Iris框架,继续完善秒杀系统基础功能。主要内容包括:用户登陆和注册功能,并且讲解用户模型建设,数据操作以及控制器编写。

    收起列表

    • 视频: 7-1 用户登录页面开发---model开发 (06:18)
    • 视频: 7-2 用户登录页面开发---repository开发(上) (14:19)
    • 视频: 7-3 用户登录页面开发---repository开发(下) (09:47)
    • 视频: 7-4 用户登录页面开发---service开发 (13:01)
    • 视频: 7-5 用户登录页面展示---Controler&View开发(上) (12:58)
    • 视频: 7-6 用户登录页面展示---Controller&View开发(中) (07:14)
    • 视频: 7-7 用户登录页面展示---Controller&View开发(下) (08:49)
    • 图文: 7-8 【扩展资料】验证码的原理及作用
    • 图文: 7-9 【阶段总结】秒杀前台功能开发
    • 图文: 7-10 【勤于思考,夯实学习成果】阶段练习题
  • 第8章 秒杀前台功能开发之商品展示及数据控制功能开发【核心业务功能开发】 9 节 | 41分钟

    本章介绍如何在原有框架的基础上进一步完成商品信息查询,商品控制器开发、商品展示页面制作以及结合商品数量控制功能,完成抢购后扣除商品和添加新订单信息的代码实现。

    收起列表

    • 视频: 8-1 商品详情展示页面(上) (08:16)
    • 视频: 8-2 商品详情展示页面(下) (07:39)
    • 视频: 8-3 商品详情展示页面---访问权限设置 (04:45)
    • 图文: 8-4 【扩展阅读】Go Iris 中间件
    • 视频: 8-5 商品数据控制(上) (10:31)
    • 视频: 8-6 商品数据控制(下) (09:32)
    • 图文: 8-7 【扩展资料】商品模型设计思路拓展
    • 图文: 8-8 【阶段总结】商品详情页及数量控制开发
    • 图文: 8-9 【勤于思考,夯实学习成果】阶段练习题
  • 第9章 秒杀系统分析&前端优化【核心优化方案落地】 15 节 | 69分钟

    本章在秒杀功能的基础上总结现有架构,带领大家梳理整个系统的压力点,并且根据秒杀系统的特点优化最终架构。之后讲解如何使用GO语言实现页面静态化功能,介绍 CDN的原理和使用,并且演示如何把静态页面发布到CDN中,提升页面展示能力。...

    收起列表

    • 视频: 9-1 基础架构分析 (03:25)
    • 视频: 9-2 秒杀分布式架构设计 (04:41)
    • 视频: 9-3 为什么要进行页面静态化 (04:19)
    • 视频: 9-4 静态化代码实现(上) (09:02)
    • 视频: 9-5 静态化代码实现(中) (08:53)
    • 视频: 9-6 静态化代码实现(下) (06:43)
    • 图文: 9-7 【扩展阅读】GO语言中os包的学习与使用(文件,目录,进程的操作)
    • 图文: 9-8 【扩展资料】Go基础之文件操作
    • 视频: 9-9 CDN原理和作用 (04:50)
    • 视频: 9-10 阿里云添加CDN (08:22)
    • 视频: 9-11 部署前端的静态文件 (17:49)
    • 图文: 9-12 【扩展资料】前端性能优化之页面优化
    • 图文: 9-13 【扩展资料】前端优化之代码优化
    • 图文: 9-14 【阶段总结】系统分析&前端优化
    • 图文: 9-15 【勤于思考,夯实阶段成果】阶段练习题
  • 第10章 服务端性能优化之实现cookie验证 【核心优化方案落地】 10 节 | 45分钟

    针对后端优化,本章首先介绍后端优化思路,讲解Session原理,并且讲解登陆验证实现原理。并在此基础上改造代码完成基于cookie的验证,最后演示验证登陆代码的改造效果。

    收起列表

    • 视频: 10-1 后端接口优化思路 (05:54)
    • 视频: 10-2 cookie替换session (06:27)
    • 视频: 10-3 登陆代码改造(1) (14:56)
    • 视频: 10-4 登陆代码改造(2) (06:04)
    • 视频: 10-5 登陆代码改造(3) (05:01)
    • 视频: 10-6 登陆代码改造(4) (06:03)
    • 图文: 10-7 【扩展资料】AES详细介绍
    • 图文: 10-8 【扩展资料】分组对称加密模式
    • 图文: 10-9 【阶段总结】服务端优化cookie验证基础实现
    • 图文: 10-10 【勤于思考,夯实阶段成果】阶段练习题
  • 第11章 服务端性能优化之分布式验证实现【核心优化方案落地】 14 节 | 102分钟

    本章首先介绍分布式原理,调整验证架构,在调整好的架构上实现cookie权限验证,之后讲解什么是一致性hash算法,并且用代码实现一致性hash算法,在算法的基础上完成分布式验证数据存储功能。

    收起列表

    • 视频: 11-1 分布式概念 (05:38)
    • 视频: 11-2 代码架构调整 (18:32)
    • 图文: 11-3 【扩展资料】Go函数作为值与类型
    • 视频: 11-4 服务端cookie身份验证 (10:35)
    • 视频: 11-5 一致性hash算法原理 (07:13)
    • 视频: 11-6 一致性hash算法实现(上) (15:33)
    • 视频: 11-7 一致性hash算法实现(下) (13:43)
    • 视频: 11-8 安全验证系统分布式设计及代码实现(上) (16:05)
    • 视频: 11-9 安全验证系统分布式设计及代码实现(下) (14:14)
    • 作业: 11-10 该如何应对管理者让我牺牲代码质量来赶上开发进度
    • 图文: 11-11 【扩展资料】一致性哈希算法在分布式缓存中的应用
    • 图文: 11-12 【阶段总结】分布式权限验证实现
    • 图文: 11-13 【勤于思考,夯实阶段成果】阶段练习题
    • 作业: 11-14 作业节
  • 第12章 服务端性能优化解决超卖&引入消息队列【核心优化方案落地】 15 节 | 125分钟

    本章首先介绍Redis实现原理和瓶颈,采用GO编写API的方式提供数量控制,通过wrk对接口进行压力测试。其次通过引入消息队列保护数据库。最后带来演示项目部署,并且做整体压力测试。

    收起列表

    • 视频: 12-1 突破Redis瓶颈限制 (07:01)
    • 视频: 12-2 秒杀数量控制接口开发 (06:56)
    • 视频: 12-3 wrk介绍和使用 (04:29)
    • 视频: 12-4 数量控制GO接口性能测试; (08:02)
    • 视频: 12-5 生产端代码 (14:22)
    • 视频: 12-6 rabbitmq 消费端代码(上) (12:06)
    • 视频: 12-7 rabbitmq 消费端代码(下) (11:59)
    • 视频: 12-8 代码整合(上) (16:15)
    • 视频: 12-9 代码整合(下) (19:50)
    • 视频: 12-10 服务器项目部署&测试(上) (12:13)
    • 视频: 12-11 服务器项目部署&测试(下) (11:00)
    • 图文: 12-12 【扩展阅读】Http压测工具wrk使用指南
    • 图文: 12-13 【扩展阅读】GO语言并发编程之互斥锁、读写锁详解
    • 图文: 12-14 【阶段总结】解决超卖&引入消息队列
    • 图文: 12-15 【勤于思考,夯实阶段成果】阶段练习题
  • 第13章 秒杀安全优化【核心优化方案落地】 8 节 | 45分钟

    本章将在以上章节的架构基础上进一步完善安全方面的代码优化,主要包括:前端页面限流,防止for循环请求,黑名单限制,黄牛用户限制等。

    收起列表

    • 视频: 13-1 限流意义&前端JS限流代码实现(上) (14:27)
    • 视频: 13-2 限流意义&前端JS限流代码实现(下) (16:57)
    • 视频: 13-3 防止for循环请求 (04:42)
    • 视频: 13-4 黑名单的开发 (05:08)
    • 视频: 13-5 服务其它安全建议 (03:13)
    • 图文: 13-6 【阶段总结】安全优化
    • 图文: 13-7 【勤于思考,夯实阶段成果】阶段练习
    • 作业: 13-8 【工作经验讨论】被队友或者上司打断该如何做?
  • 第14章 课程总结 【回顾总结,重点知识梳理】 1 节 | 15分钟

    本章主要回顾总结重点知识,梳理重要知识点。

    收起列表

    • 视频: 14-1 网站课程总结 (14:40)
  • 第15章 【扩展】应用Docker快速安装环境组件 5 节 | 33分钟

    以往安装组件和环境都需要耗费大量时间,现在使用Docker可以在短短地几秒钟内完成组件的安装和使用,极大的简化了工作量,提高开发效率。综合大家在讨论群和问答区中的问题反馈,在本章中会介绍Docker的概念,常用命令,以及Docker使用中会经常遇到的问题。最后会使用Docker来完成rabbitmq,mysql组件的安装和基本使用。...

    收起列表

    • 视频: 15-1 docker 介绍 (10:09)
    • 视频: 15-2 docker 的使用 (08:03)
    • 视频: 15-3 rabbitmq docker 的安装使用 (07:51)
    • 视频: 15-4 mysql docker安装和使用 (06:03)
    • 作业: 15-5 如何在某些人离开后维护他蹩脚的代码或者系统
  • 第16章 【升级】iris 框架 6 节 | 43分钟

    本章主要介绍 iris 框架MVC使用方式优化-基础目录说明、iris 基础框架如何使用gorm等内容。

    收起列表

    • 视频: 16-1 iris 框架MVC使用方式优化-基础目录说明 (04:12)
    • 视频: 16-2 iris 基础控制器BController编写 (06:41)
    • 视频: 16-3 iris 基础加载 boot 文件编写 (05:44)
    • 视频: 16-4 iris 基础自定义控制器实现- (05:02)
    • 视频: 16-5 iris 基础框架 main 文件简化 (09:20)
    • 视频: 16-6 iris 基础框架如何使用gorm (11:32)
本课程已完结

试看

全部试看小节



讲师

Cap 全栈工程师

拥有9年多一线软件设计经验和互联网架构经验,经历过诸多大型企业的项目攻坚和调优,尤其擅长互联网基础架构设计,软件架构设计和容器云架构设计。曾参与某检察院大型系统架构设计和核心代码研发,中国网江苏网站亿级流量架构设计,大型电商网站架构设计。现负责公司大型容器云基础架构,DevOps,容器云微服务平台的总体设计和基础框架研发(使用GO语言)。

课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
意见反馈 帮助中心 APP下载
官方微信

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题