收藏

全流程开发实践晋级:GO实战多版本抢红包系统

多个版本抢红包系统,完善の学习成长路线:单体应用版-->并发版-->分布式版-->微服务版

仿微信抢红包 Golang实战多版本抢红包系统

难度 中级 时长 19小时30分钟 学习人数 582 综合评分 9.87
  • 第1章 课程导学 试看 1 节 | 10分钟

    本小节将站在更高的起点,从项目演示开始 ,然后到本课程适用人群定位,再到通过思维导图介绍课程内容体系,接着到分析收获,最后到学习本课程的一些前置要求,为你的学习征途扬帆起航做保证。

    收起列表

    • 视频: 1-1 抢红包系统项目演示&导学【不看错过一个亿唷】 (09:17) 试看
  • 第2章 红包业务概述&系统建模 试看 6 节 | 33分钟

    或许大家体验过抢红包,但如何对现实世界的业务场景进行抽象,形成软件系统的需求,进行建模与技术选型,这是有一套“方法论”的。因此,本章分四点:红包系统业务知识;选用的技术框架;业务建模与数据库建模;红包算法&库存超卖问题。...

    收起列表

    • 视频: 2-1 课程源码分支简介 (00:32)
    • 视频: 2-2 红包业务和业务模型概述 (06:39)
    • 视频: 2-3 红包数据库表结构讲解 (09:39)
    • 视频: 2-4 红包算法概述 (07:48)
    • 视频: 2-5 红包系统中负库存负金额的问题 (04:14) 试看
    • 视频: 2-6 红包系统架构演进概述 (03:38) 试看
  • 第3章 Golang项目代码架构设计 4 节 | 47分钟

    如果以作战规划比喻本课程学习,那项目的代码架构设计就是作战线路规划。本章从Why、What、How三个维度来介绍代码架构,说明代码架构意义、要做的事、常见的代码分层。从四层架构来阐述每一层职责,最后介绍Go module模块化管理代码工具。...

    收起列表

    • 视频: 3-1 代码架构之why和what (13:41)
    • 视频: 3-2 代码架构之how-怎样来设计代码架构? (11:31)
    • 视频: 3-3 代码架构之Go编程中的一些规范 (06:31)
    • 视频: 3-4 Go module模块化管理代码依赖 (15:05)
  • 第4章 Golang基础设施设计和编码实践 15 节 | 171分钟

    软件项目中的基础设施就像是征战中的神兵利器。本章介绍Golang项目应具备基础设施,完整的业务系统应该需要的基础设施资源,在没有Java Spring全家桶那样的明星级框架情况下,让Golang项目轻松自如管理基础资源的生命周期、构建和使用基础资源。 ...

    收起列表

    • 视频: 4-1 重在设计:golang中使用枚举值 (05:25)
    • 视频: 4-2 JSON-web编程的宠儿:在golang中使用JSON (15:55)
    • 视频: 4-3 基础设施层-配置设计(设计思维) (14:19)
    • 视频: 4-4 基础资源层-配置设计-starter编码 (11:26)
    • 视频: 4-5 基础设施层-配置设计-启动管理器编码 (16:26)
    • 视频: 4-6 基础设施层-mysql Starter编码(上) (17:21)
    • 视频: 4-7 基础设施层-mysql Starter编码(下) (16:23)
    • 视频: 4-8 基础实施层-log starter 设计概述 (08:55)
    • 视频: 4-9 基础实施层-log starter 编码 (09:21)
    • 视频: 4-10 基础设施层-验证器validator框架 (02:32)
    • 视频: 4-11 基础设施层-验证器入门编程 (12:08)
    • 视频: 4-12 基础设施层-验证器starter的编程 (03:31)
    • 视频: 4-13 基础设施层-web框架starter的编程-认识iris (14:05)
    • 视频: 4-14 基础设施层-web框架starter的编程实践-iris框架的使用 (08:01)
    • 视频: 4-15 基础设施层-web框架starter的编程实践 (14:09)
  • 第5章 【单体应用版】资金账户核心业务开发实践 23 节 | 222分钟

    本章将还原企业真实开发场景,按照企业真实的开发场景来开发资金账户,完全遵循“大四层+小六层”代码分层开发,同时贯穿了自动化测试用例和断点调试的一些技巧。

    收起列表

    • 视频: 5-1 资金账户业务流程的设计和讲解 (02:39)
    • 视频: 5-2 资金账户模块数据库表设计讲解 (08:12)
    • 视频: 5-3 资金账户模块-服务接口设计和定义 (17:25)
    • 视频: 5-4 资金账户模块-账户表数据库访问层查询的定义和编码实践 (13:33)
    • 视频: 5-5 资金账户模块-账户表数据库访问层写入和更新的编码实践 (11:08)
    • 视频: 5-6 资金账户模块-账户表账户插入和查询数据库访问层的测试用例编码实战 (11:23)
    • 视频: 5-7 资金账户模块-账户表红包账户查询数据库访问层的测试用例编码实战 (10:46)
    • 视频: 5-8 资金账户模块-账户流水表数据库访问层和测试用例编码实践 (09:19)
    • 视频: 5-9 资金账户-账户创建-业务领域层的定义和编码实践 (18:19)
    • 视频: 5-10 资金账户-账户转账-业务领域层的定义和编码实践 (09:45)
    • 视频: 5-11 资金账户-账户转账-业务领域层的定义和编码实践-测试用例 (13:58)
    • 视频: 5-12 资金账户-账户查询-业务领域层的定义和编码实践 (06:16)
    • 视频: 5-13 资金账户-账户流水查询-业务领域层的定义和编码实践 (03:07)
    • 视频: 5-14 资金账户模块-账户创建接口-应用服务层实现编码实践 (06:50)
    • 视频: 5-15 资金账户模块-转账和储值接口-应用服务层实现编码实践 (04:59)
    • 视频: 5-16 资金账户模块-账户查询接口-应用服务层实现编码实践 (01:38)
    • 视频: 5-17 资金账户模块-应用服务层的定义和编码实践-测试用例 (16:29)
    • 视频: 5-18 资金账户模块-账户创建Web接口的定义和基础通用逻辑的编码实践 (12:13)
    • 视频: 5-19 资金账户模块-账户创建Web接口应用服务层调用的编码实践 (04:36)
    • 视频: 5-20 资金账户模块-web用户接口调试和优化 (12:19)
    • 视频: 5-21 资金账户-转账web接口编程实践 (07:03)
    • 视频: 5-22 使用Postman来测试web接口-Postman核心功能概述 (04:04)
    • 视频: 5-23 使用Postman来测试web接口-Postman功能演示和资金账户接口测试(1) (15:45)
  • 第6章 【并发版】红包核心业务开发实践 31 节 | 264分钟

    本章就如同远航的灯塔,一路照亮征途的前程,进一步熟悉和练习核心业务开发,巩固之前的知识,从中掌握事务、乐观锁知识,断点调试代码,让真实企业项目的开发流程和代码分层架构的知识刻在我们的大脑海马体上。

    收起列表

    • 视频: 6-1 .红包模块-发红包和收红包业务流程解说 (03:35)
    • 视频: 6-2 .红包模块数据库表结构设计讲解 (06:33)
    • 视频: 6-3 红包模块服务接口定义和设计概述 (03:42)
    • 视频: 6-4 红包模块服务接口定义和设计-编码实践 (05:10)
    • 视频: 6-5 红包模块-红包商品表-插入和查询的数据库访问层编码实践 (07:19)
    • 视频: 6-6 红包模块-红包商品表-剩余数量和剩余金额的数据库访问层编码实践 (08:13)
    • 视频: 6-7 红包模块-红包商品表-订单状态更新和过期查询的数据库访问层编码实践 (06:50)
    • 视频: 6-8 红包模块-红包商品业务领域层的编码实践 (09:42)
    • 视频: 6-9 红包模块-发红包业务领域层的编码实践-1【约定优于配置】 (11:59)
    • 视频: 6-10 红包模块-发红包业务领域层的编码实践-2【约定配置好于配置本身】_x264 (13:44)
    • 视频: 6-11 红包模块-发红包应用服务层的编码实践【代码重构是很好的编程习惯】 (10:12)
    • 视频: 6-12 红包模块-发红包应用服务层-自动化测试用例编码实践【调试技巧】 (15:05)
    • 视频: 6-13 红包模块-发红包web用户接口层的编码实践和postman测试 (09:18)
    • 视频: 6-14 红包模块-发红包GoRPC用户接口层TCP服务器端和RPC服务接口实现编写实践 (14:44)
    • 视频: 6-15 红包模块-发红包GoRPC用户接口层TCP客户端端编写实践 (04:24)
    • 视频: 6-16 红包模块-抢红包订单详情业务领域层编码实践 (09:48)
    • 视频: 6-17 红包模块-抢红包业务领域层编码实践-1 (12:05)
    • 视频: 6-18 红包模块-抢红包业务领域层编码实践-2 (07:01)
    • 视频: 6-19 红包模块-抢红包应用服务层编码实践 (02:38)
    • 视频: 6-20 红包模块-抢红包应用服务层测试用例编码实践 (10:09)
    • 视频: 6-21 红包模块-抢红包应用服务层测试用例调试【调试方法和技巧】 (14:22)
    • 视频: 6-22 红包模块-抢红包web和GoRPC用户接口的轻松适配和编码实践 (07:17)
    • 视频: 6-23 红包模块-过期红包业务逻辑设计讲解 (03:13)
    • 视频: 6-24 红包模块-过期红包-Golang中定时任务讲解 (05:13)
    • 视频: 6-25 红包模块-过期红包-过期退款业务逻辑代码编写实战-1 (07:08)
    • 视频: 6-26 红包模块-过期红包-过期退款业务逻辑代码编写实战-2 (14:43)
    • 视频: 6-27 红包模块-过期红包-基于redis锁的分布式定时任务设计讲解 (09:40)
    • 视频: 6-28 红包模块-过期红包-基于redis锁的分布式定时任务实战编码 (11:03)
    • 视频: 6-29 红包模块-mobile H5 UI-总体逻辑介绍 (07:45)
    • 视频: 6-30 红包模块-mobile H5 UI-登录 (03:34)
    • 视频: 6-31 红包模块-mobile H5 UI-我发的和收到的红包列表-收发红包 (07:04)
  • 第7章 集成测试:确保项目高效稳定运行的“神器 ” 6 节 | 55分钟

    测试的重要性不言而喻,通过web接口功能测试、自动化集成测试、性能测试来评估和验证我们的劳动成果,看看这一程走的如何,知错就改,不要成为“66万漏油的奔驰”。测试工具和测试逻辑同样重要,工具加持下测试更有效率。...

    收起列表

    • 视频: 7-1 发红包集成自动化测试用例设计 (05:27)
    • 视频: 7-2 发红包集成自动化测试用例代码编写 (07:08)
    • 视频: 7-3 收红包集成自动化测试用例设计 (04:57)
    • 视频: 7-4 收红包集成自动化测试用例编码实践【收红包失败+调试技巧】-1 (11:56)
    • 视频: 7-5 收红包集成自动化测试用例编码实践【收红包失败+调试技巧】-2 (13:31)
    • 视频: 7-6 . jmerter给红包系统做个压力测试-基础知识介绍和实战 (11:02)
  • 第8章 Golang项目打包部署 8 节 | 68分钟

    本章介绍Golang项目编译打包、部署、运行、终止,不仅要完成这些事情,还要让这些事尽可能自动化、简单,少量命令和参数即可完成,比如 ./build 完成编译打包,比如.esk.run dev就完成开发环境的启动,原来晶石如此简单的别有洞天。...

    收起列表

    • 视频: 8-1 红包系统的编译和打包部署-运行-GOPATH方法和交叉编译知识讲解和编码实战 (18:03)
    • 视频: 8-2 红包系统的编译和打包部署、运行-4-启动和运行 (05:19)
    • 视频: 8-3 红包系统的编译和打包部署-运行-kill-ps-grep命令进程PID查找讲解和应用实战 (08:06)
    • 视频: 8-4 红包系统的编译和打包部署、运行-awk-kill- 进程终止设计讲解和实战 (04:04)
    • 视频: 8-5 红包系统的编译和打包部署、运行-运行脚本实战讲解 (13:03)
    • 视频: 8-6 红包系统的编译和打包部署、运行-zip-tar打包部署讲解和实战 (06:35)
    • 视频: 8-7 golang中如何优雅的退出进程-signal.notify讲解和实战 (06:10)
    • 视频: 8-8 golang中如何优雅的退出进程-notify hook starter编码实战 (06:17)
  • 第9章 初探红包系统微服务 10 节 | 121分钟

    微服务火遍大江南北,本章从架构演进角度讲解单体应用进化到微服务过程中常见的设计模式和方法,结合红包系统讲微服务的拆分逻辑和方法,并实战红包系统的微服务拆分,工具助力拆分,从中体会和学习微服务拆分技巧、踩坑和填坑渡劫经历。...

    收起列表

    • 视频: 9-1 微服务概念讲解 (09:32)
    • 视频: 9-2 红包微服务系统架构演进概述 (07:51)
    • 视频: 9-3 红包系统微服务拆分-从单体到微服务 (12:45)
    • 视频: 9-4 红包系统微服务拆分流程 (02:48)
    • 视频: 9-5 微服务架构中服务发现讲解 (06:44)
    • 视频: 9-6 服务注册发现服务端Eureka和Golang eureka客户端知识讲解 (14:24)
    • 视频: 9-7 服务注册发现服务端Eureka和Golang eureka客户端-编码实战 (14:47)
    • 视频: 9-8 红包系统微服务拆分实践-公共技术基础设施组件拆分 (11:32)
    • 视频: 9-9 红包系统微服务拆分实践-资金账户微服务拆分 (21:45)
    • 视频: 9-10 红包系统微服务拆分实践-UI和红包微服务的拆分 (17:53)
  • 第10章 Http中的服务发现与负载均衡 【晋级红包系统分布式+微服务化】 10 节 | 85分钟

    此处高能,适用于装逼!本章带着问题实践使用服务发现机制的动态服务调用客户端组件,学习开发微服务基础设施组件,负载均衡和常见的算法,及在服务调用客户端中实践。通过改造拆分后的红包微服务系统,加深对动态服务调用客户端重要的理解。...

    收起列表

    • 视频: 10-1 基于服务发现的服务调用客户端设计讲解 (03:32)
    • 视频: 10-2 服务调用负载均衡算法概述 (07:11)
    • 视频: 10-3 负载均衡-简单轮询算法设计和编码实践 (08:22)
    • 视频: 10-4 负载均衡-随机数算法设计和编码实践 (02:21)
    • 视频: 10-5 负载均衡-散列值算法和请求粘性设计和编码实践 (04:04)
    • 视频: 10-6 基于服务发现的负载均衡组件编码实战 (07:32)
    • 视频: 10-7 通用http客户端和测试用例编码实践 (11:46)
    • 视频: 10-8 基于服务发现负载均衡的http客户端编码实践 (13:10)
    • 视频: 10-9 基于服务发现负载均衡的http客户端测试用例编码实践 (13:50)
    • 视频: 10-10 基于服务发现负载均衡的goRpc客户端编码实践 (13:00)
  • 第11章 微服务下分布式配置管理实践【开启红包系统分布式】 4 节 | 26分钟

    本章带着微服务架构下配置的复杂性和分布式配置管理中心的作用和架构意义,同时了解使用Consul来作为分布式配置中心来存储配置项,学习使用props配置工具从配置文件到配置管理中心的演变;然后把拆分后的红包微服务改造为分布式配置管理。...

    收起列表

    • 视频: 11-1 分布式配置管理中心架构设计讲解 (06:59)
    • 视频: 11-2 Consul作为分布式配置中心在红包系统中的设计和实践 (04:14)
    • 视频: 11-3 Consul的安装和使用 (03:42)
    • 视频: 11-4 拆分后红包微服务分布式配置管理改造实践 (10:30)
  • 第12章 微服务部署管理实践【落地分布式+微服务版】 6 节 | 38分钟

    本章来讲解微服务化后的打包程序升级技巧,如何结合分布式配置管理中心,实现一包无环境包的打包和部署、运行的设计和实现技巧。

    收起列表

    • 视频: 12-1 可执行文件打包的基本流程和方法 (04:11)
    • 视频: 12-2 如何使用cat命令来打包可执行文件? (04:08)
    • 视频: 12-3 如何从合并的可执行文件中解压程序文件【awk命令应用】?-- (04:55)
    • 视频: 12-4 如何从特定的文件位置读取二进制内容并解压?【tail命令应用】 (02:16)
    • 视频: 12-5 一包可执行包构建的编码实战 (15:51)
    • 视频: 12-6 无环境包的构建和编码实战 (06:26)
  • 第13章 红包系统性能分析实战演示 3 节 | 12分钟

    本章通过Golang内建的性能分析工具来演示和讲解给Golang项目做性能分析的过程和方法,让同学们对Golang项目性能分析有个大致的了解。为下一次的项目优化迭代做准备!

    收起列表

    • 视频: 13-1 HTTP剖析采用启用和默认剖析控制台性能分析功能介绍 (02:23)
    • 视频: 13-2 使用go tool命令交互式方式远程解析剖析数据性能分析实战 (06:58)
    • 视频: 13-3 使用go tool工具开启本地端口图形化性能分析实战 (02:23)
  • 第14章 课程总结【思维导图助你收获满满】 1 节 | 11分钟

    本章采用思维导图 ,为你梳理整个课程内容,建立你的知识栈,帮你对课程的理解更清晰透彻。

    收起列表

    • 视频: 14-1 全课梳理总结 (10:03)
本课程已完结


讲师

枫荇 JAVA开发工程师

我是枫荇,互联网公司的系统架构组技术负责人,负责公司整体的架构,包括基础架构、中间件开发和PaaS平台架构。擅长分布式微服务系统以及其周边生态系统的架构和中间件,包括全链路监控平台、微服务网关等技术平台。

课程预览

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

学习咨询

选课、学习遇到问题?

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

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