仿微信抢红包 Golang实战多版本抢红包系统
【课程介绍】想必大家对“双十一”、“6.18”秒杀活动有高并发性能的直观感受, “抢红包” 在高并发上比“秒杀”更经典 ,与Golang更契合。致敬经典,开启从0到1实战抢红包系统学习之旅:从基础逻辑设计到编程实操,到性能分析找到瓶颈,按架构演进迭代系统。想在企业中彰显能力,等你来打Call~
【课程目录】
- 第1章 课程导学本小节将站在更高的起点,从项目演示开始 ,然后到本课程适用人群定位,再到通过思维导图介绍课程内容体系,接着到分析收获,最后到学习本课程的一些前置要求,为你的学习征途扬帆起航做保证。
- 1-1 抢红包系统项目演示&导学【不看错过一个亿唷】
- 1-1 抢红包系统项目演示&导学【不看错过一个亿唷】
- 第2章 红包业务概述&系统建模或许大家体验过抢红包,但如何对现实世界的业务场景进行抽象,形成软件系统的需求,进行建模与技术选型,这是有一套“方法论”的。因此,本章分四点:红包系统业务知识;选用的技术框架;业务建模与数据库建模;红包算法&库存超卖问题。…
- 2-1 课程源码分支简介
- 2-2 红包业务和业务模型概述
- 2-3 红包数据库表结构讲解
- 2-4 红包算法概述
- 2-5 红包系统中负库存负金额的问题
- 2-6 红包系统架构演进概述
- 第3章 Golang项目代码架构设计如果以作战规划比喻本课程学习,那项目的代码架构设计就是作战线路规划。本章从Why、What、How三个维度来介绍代码架构,说明代码架构意义、要做的事、常见的代码分层。从四层架构来阐述每一层职责,最后介绍Go module模块化管理代码工具。…
- 3-1 代码架构之why和what
- 3-2 代码架构之how-怎样来设计代码架构?
- 3-3 代码架构之Go编程中的一些规范
- 3-4 Go module模块化管理代码依赖
- 第4章 Golang基础设施设计和编码实践软件项目中的基础设施就像是征战中的神兵利器。本章介绍Golang项目应具备基础设施,完整的业务系统应该需要的基础设施资源,在没有Java Spring全家桶那样的明星级框架情况下,让Golang项目轻松自如管理基础资源的生命周期、构建和使用基础资源。 …
- 4-1 重在设计:golang中使用枚举值
- 4-2 JSON-web编程的宠儿:在golang中使用JSON
- 4-3 基础设施层-配置设计(设计思维)
- 4-4 基础资源层-配置设计-starter编码
- 4-5 基础设施层-配置设计-启动管理器编码
- 4-6 基础设施层-mysql Starter编码(上)
- 4-7 基础设施层-mysql Starter编码(下)
- 4-8 基础实施层-log starter 设计概述
- 4-9 基础实施层-log starter 编码
- 4-10 基础设施层-验证器validator框架
- 4-11 基础设施层-验证器入门编程
- 4-12 基础设施层-验证器starter的编程
- 4-13 基础设施层-web框架starter的编程-认识iris
- 4-14 基础设施层-web框架starter的编程实践-iris框架的使用
- 4-15 基础设施层-web框架starter的编程实践
- 第5章 【单体应用版】资金账户核心业务开发实践本章将还原企业真实开发场景,按照企业真实的开发场景来开发资金账户,完全遵循“大四层+小六层”代码分层开发,同时贯穿了自动化测试用例和断点调试的一些技巧。
- 5-1 资金账户业务流程的设计和讲解
- 5-2 资金账户模块数据库表设计讲解
- 5-3 资金账户模块-服务接口设计和定义
- 5-4 资金账户模块-账户表数据库访问层查询的定义和编码实践
- 5-5 资金账户模块-账户表数据库访问层写入和更新的编码实践
- 5-6 资金账户模块-账户表账户插入和查询数据库访问层的测试用例编码实战
- 5-7 资金账户模块-账户表红包账户查询数据库访问层的测试用例编码实战
- 5-8 资金账户模块-账户流水表数据库访问层和测试用例编码实践
- 5-9 资金账户-账户创建-业务领域层的定义和编码实践
- 5-10 资金账户-账户转账-业务领域层的定义和编码实践
- 5-11 资金账户-账户转账-业务领域层的定义和编码实践-测试用例
- 5-12 资金账户-账户查询-业务领域层的定义和编码实践
- 5-13 资金账户-账户流水查询-业务领域层的定义和编码实践
- 5-14 资金账户模块-账户创建接口-应用服务层实现编码实践
- 5-15 资金账户模块-转账和储值接口-应用服务层实现编码实践
- 5-16 资金账户模块-账户查询接口-应用服务层实现编码实践
- 5-17 资金账户模块-应用服务层的定义和编码实践-测试用例
- 5-18 资金账户模块-账户创建Web接口的定义和基础通用逻辑的编码实践
- 5-19 资金账户模块-账户创建Web接口应用服务层调用的编码实践
- 5-20 资金账户模块-web用户接口调试和优化
- 5-21 资金账户-转账web接口编程实践
- 5-22 使用Postman来测试web接口-Postman核心功能概述
- 5-23 使用Postman来测试web接口-Postman功能演示和资金账户接口测试(1)
- 第6章 【并发版】红包核心业务开发实践本章就如同远航的灯塔,一路照亮征途的前程,进一步熟悉和练习核心业务开发,巩固之前的知识,从中掌握事务、乐观锁知识,断点调试代码,让真实企业项目的开发流程和代码分层架构的知识刻在我们的大脑海马体上。
- 6-1 .红包模块-发红包和收红包业务流程解说
- 6-2 .红包模块数据库表结构设计讲解
- 6-3 红包模块服务接口定义和设计概述
- 6-4 红包模块服务接口定义和设计-编码实践
- 6-5 红包模块-红包商品表-插入和查询的数据库访问层编码实践
- 6-6 红包模块-红包商品表-剩余数量和剩余金额的数据库访问层编码实践
- 6-7 红包模块-红包商品表-订单状态更新和过期查询的数据库访问层编码实践
- 6-8 红包模块-红包商品业务领域层的编码实践
- 6-9 红包模块-发红包业务领域层的编码实践-1【约定优于配置】
- 6-10 红包模块-发红包业务领域层的编码实践-2【约定配置好于配置本身】_x264
- 6-11 红包模块-发红包应用服务层的编码实践【代码重构是很好的编程习惯】
- 6-12 红包模块-发红包应用服务层-自动化测试用例编码实践【调试技巧】
- 6-13 红包模块-发红包web用户接口层的编码实践和postman测试
- 6-14 红包模块-发红包GoRPC用户接口层TCP服务器端和RPC服务接口实现编写实践
- 6-15 红包模块-发红包GoRPC用户接口层TCP客户端端编写实践
- 6-16 红包模块-抢红包订单详情业务领域层编码实践
- 6-17 红包模块-抢红包业务领域层编码实践-1
- 6-18 红包模块-抢红包业务领域层编码实践-2
- 6-19 红包模块-抢红包应用服务层编码实践
- 6-20 红包模块-抢红包应用服务层测试用例编码实践
- 6-21 红包模块-抢红包应用服务层测试用例调试【调试方法和技巧】
- 6-22 红包模块-抢红包web和GoRPC用户接口的轻松适配和编码实践
- 6-23 红包模块-过期红包业务逻辑设计讲解
- 6-24 红包模块-过期红包-Golang中定时任务讲解
- 6-25 红包模块-过期红包-过期退款业务逻辑代码编写实战-1
- 6-26 红包模块-过期红包-过期退款业务逻辑代码编写实战-2
- 6-27 红包模块-过期红包-基于redis锁的分布式定时任务设计讲解
- 6-28 红包模块-过期红包-基于redis锁的分布式定时任务实战编码
- 6-29 红包模块-mobile H5 UI-总体逻辑介绍
- 6-30 红包模块-mobile H5 UI-登录
- 6-31 红包模块-mobile H5 UI-我发的和收到的红包列表-收发红包
- 第7章 集成测试:确保项目高效稳定运行的“神器 ”测试的重要性不言而喻,通过web接口功能测试、自动化集成测试、性能测试来评估和验证我们的劳动成果,看看这一程走的如何,知错就改,不要成为“66万漏油的奔驰”。测试工具和测试逻辑同样重要,工具加持下测试更有效率。…
- 7-1 发红包集成自动化测试用例设计
- 7-2 发红包集成自动化测试用例代码编写
- 7-3 收红包集成自动化测试用例设计
- 7-4 收红包集成自动化测试用例编码实践【收红包失败+调试技巧】-1
- 7-5 收红包集成自动化测试用例编码实践【收红包失败+调试技巧】-2
- 7-6 . jmerter给红包系统做个压力测试-基础知识介绍和实战
- 第8章 Golang项目打包部署本章介绍Golang项目编译打包、部署、运行、终止,不仅要完成这些事情,还要让这些事尽可能自动化、简单,少量命令和参数即可完成,比如 ./build 完成编译打包,比如.esk.run dev就完成开发环境的启动,原来晶石如此简单的别有洞天。…
- 8-1 红包系统的编译和打包部署-运行-GOPATH方法和交叉编译知识讲解和编码实战
- 8-2 红包系统的编译和打包部署、运行-4-启动和运行
- 8-3 红包系统的编译和打包部署-运行-kill-ps-grep命令进程PID查找讲解和应用实战
- 8-4 红包系统的编译和打包部署、运行-awk-kill- 进程终止设计讲解和实战
- 8-5 红包系统的编译和打包部署、运行-运行脚本实战讲解
- 8-6 红包系统的编译和打包部署、运行-zip-tar打包部署讲解和实战
- 8-7 golang中如何优雅的退出进程-signal.notify讲解和实战
- 8-8 golang中如何优雅的退出进程-notify hook starter编码实战
- 第9章 初探红包系统微服务微服务火遍大江南北,本章从架构演进角度讲解单体应用进化到微服务过程中常见的设计模式和方法,结合红包系统讲微服务的拆分逻辑和方法,并实战红包系统的微服务拆分,工具助力拆分,从中体会和学习微服务拆分技巧、踩坑和填坑渡劫经历。…
- 9-1 微服务概念讲解
- 9-2 红包微服务系统架构演进概述
- 9-3 红包系统微服务拆分-从单体到微服务
- 9-4 红包系统微服务拆分流程
- 9-5 微服务架构中服务发现讲解
- 9-6 服务注册发现服务端Eureka和Golang eureka客户端知识讲解
- 9-7 服务注册发现服务端Eureka和Golang eureka客户端-编码实战
- 9-8 红包系统微服务拆分实践-公共技术基础设施组件拆分
- 9-9 红包系统微服务拆分实践-资金账户微服务拆分
- 9-10 红包系统微服务拆分实践-UI和红包微服务的拆分
- 第10章 Http中的服务发现与负载均衡 【晋级红包系统分布式+微服务化】此处高能,适用于装逼!本章带着问题实践使用服务发现机制的动态服务调用客户端组件,学习开发微服务基础设施组件,负载均衡和常见的算法,及在服务调用客户端中实践。通过改造拆分后的红包微服务系统,加深对动态服务调用客户端重要的理解。…
- 10-1 基于服务发现的服务调用客户端设计讲解
- 10-2 服务调用负载均衡算法概述
- 10-3 负载均衡-简单轮询算法设计和编码实践
- 10-4 负载均衡-随机数算法设计和编码实践
- 10-5 负载均衡-散列值算法和请求粘性设计和编码实践
- 10-6 基于服务发现的负载均衡组件编码实战
- 10-7 通用http客户端和测试用例编码实践
- 10-8 基于服务发现负载均衡的http客户端编码实践
- 10-9 基于服务发现负载均衡的http客户端测试用例编码实践
- 10-10 基于服务发现负载均衡的goRpc客户端编码实践
- 第11章 微服务下分布式配置管理实践【开启红包系统分布式】本章带着微服务架构下配置的复杂性和分布式配置管理中心的作用和架构意义,同时了解使用Consul来作为分布式配置中心来存储配置项,学习使用props配置工具从配置文件到配置管理中心的演变;然后把拆分后的红包微服务改造为分布式配置管理。…
- 11-1 分布式配置管理中心架构设计讲解
- 11-2 Consul作为分布式配置中心在红包系统中的设计和实践
- 11-3 Consul的安装和使用
- 11-4 拆分后红包微服务分布式配置管理改造实践
- 第12章 微服务部署管理实践【落地分布式+微服务版】本章来讲解微服务化后的打包程序升级技巧,如何结合分布式配置管理中心,实现一包无环境包的打包和部署、运行的设计和实现技巧。
- 12-1 可执行文件打包的基本流程和方法
- 12-2 如何使用cat命令来打包可执行文件?
- 12-3 如何从合并的可执行文件中解压程序文件【awk命令应用】?–
- 12-4 如何从特定的文件位置读取二进制内容并解压?【tail命令应用】
- 12-5 一包可执行包构建的编码实战
- 12-6 无环境包的构建和编码实战
- 第13章 红包系统性能分析实战演示本章通过Golang内建的性能分析工具来演示和讲解给Golang项目做性能分析的过程和方法,让同学们对Golang项目性能分析有个大致的了解。为下一次的项目优化迭代做准备!
- 13-1 HTTP剖析采用启用和默认剖析控制台性能分析功能介绍
- 13-2 使用go tool命令交互式方式远程解析剖析数据性能分析实战
- 13-3 使用go tool工具开启本地端口图形化性能分析实战
- 第14章 课程总结【思维导图助你收获满满】本章采用思维导图 ,为你梳理整个课程内容,建立你的知识栈,帮你对课程的理解更清晰透彻。
- 14-1 全课梳理总结