性能优化+架构迭代升级 Go读书社区web开发与架构优化课程介绍:
课程先使用Go语言及Beego框架进行项目开发,快速迭代上线,然后进行包括主从和分表分库、搜索优化、页面静态化、动态缓存、下载优化、服务负载均衡等一系列架构优化,最后实现Web应用的高可用&高并发。
课程目录:
- 第1章 课程介绍 2 节 | 6分钟
- 本章简要介绍项目功能,并介绍怎样通过实践项目学习到开发和架构思路。同时介绍了课程编排的特点和提供了学习本课程的一种思路。
-
- 视频:1-1 课程介绍 (05:48)
- 图文:1-2 大家平时可能关心的问题汇总(助你更好的使用课程)
- 第2章 环境搭建 10 节 | 60分钟
- 本章主要介绍开发环境的准备工作。包括如何安装Go编译环境、Beego框架、Bee开发工具、MySQL等工具和组件。
-
- 视频:2-1 项目所需组件简介 (02:44)
- 视频:2-2 go开发环境搭建 (10:01)
- 图文:2-3 【扩展】Go开发环境搭建之Windows篇
- 视频:2-4 Beego框架初体验 (06:29)
- 视频:2-5 基于Beego搭建Web应用框架 (12:18)
- 视频:2-6 MySQL安装及应用 (07:38)
- 视频:2-7 Beego之ORM初实践(上) (09:33)
- 视频:2-8 Beego之ORM初实践(下) (10:38)
- 图文:2-9 【扩展】Beego ORM 应用小结
- 图文:2-10 【总结】知识点回顾
- 第3章 V1.0 : Beego快速搭建Web应用【业务快速迭代】 32 节 | 246分钟
- 本章主要讲解一个典型的Web应用,从设计到开发再到打包部署的全过程。在开发之前,整体讲解了Web应用架构的思路和路线,并实战开发首页分类模块、搜索模块、评论模块等功能。项目开发期间不只是关注快速开发业务逻辑,中间也会穿插讲解后期可能需要扩展的点。…
-
- 视频:3-1 大型Web架构设计概要 (14:34)
- 视频:3-2 读书社区需求分析 (05:18)
- 视频:3-3 Web应用框架搭建技巧(上) (11:41)
- 视频:3-4 Web应用框架搭建技巧(中) (11:41)
- 视频:3-5 Web应用框架搭建技巧(下) (06:53)
- 视频:3-6 Web应用搭建技巧之重构dbinit (03:52)
- 视频:3-7 项目整体分析到Controller结构 (10:26)
- 视频:3-8 添加view资源 (07:53)
- 图文:3-9 【笔记】View构建及其资源准备
- 图文:3-10 【扩展】Beego之View基础实践
- 视频:3-11 一切从model定义开始 (16:17)
- 视频:3-12 首页Controller实践 (07:53)
- 视频:3-13 分类逻辑开发(上) (10:13)
- 视频:3-14 分类逻辑开发(中) (11:56)
- 视频:3-15 分类逻辑开发(下) (04:01)
- 视频:3-16 图书详情、编辑模块设计思路讲解 (08:29)
- 视频:3-17 图书管理、分类管理模块设计分析 (05:39)
- 视频:3-18 生成图书内容数据 (07:51)
- 视频:3-19 构造搜索查询 (09:19)
- 视频:3-20 搜索功能逻辑实现(上) (09:22)
- 视频:3-21 搜索功能逻辑实现(中) (06:43)
- 视频:3-22 搜索功能逻辑实现(下) (08:25)
- 视频:3-23 登录注册验证设计思路简介 (04:59)
- 视频:3-24 社区功能浅析 (04:35)
- 视频:3-25 构建社区功能(1) (08:17)
- 视频:3-26 构建社区功能(2) (04:53)
- 视频:3-27 构建社区功能(3) (05:34)
- 视频:3-28 构建社区功能(4) (10:16)
- 视频:3-29 构建社区功能(5) (10:43)
- 视频:3-30 个人主页剩余模块设计思路讲解 (04:09)
- 视频:3-31 打包部署 (08:42)
- 视频:3-32 项目回顾与总结 (04:32)
- 第4章 V1.1 : 补齐短板【MySQL基础优化】12 节 | 84分钟
- 通常而言,Web应用最先遇见的瓶颈就是数据库。本章从实际项目角度出发,介绍几种最常见造成慢查询的情况,并针对性的从建立数据表,创建索引,再到查询语句,逐步优化MySQL数据库。
-
- 视频:4-1 数据库基础优化导读 (04:48)
- 图文:4-2 【扩展】ab(Apache Bench)基础使用教程
- 视频:4-3 ab压测评估整体并发能力 (08:01)
- 视频:4-4 为什么查询会慢 (08:10)
- 图文:4-5 【扩展】MySQL查询执行计划详解
- 视频:4-6 项目开发中怎样设计数据表 (10:24)
- 视频:4-7 数据表设计实战 (04:29)
- 视频:4-8 实战数据库索引优化 (13:33)
- 视频:4-9 索引优化实战 (09:58)
- 视频:4-10 优化改造数据查询语句 (17:35)
- 视频:4-11 查询优化性能测试 (06:49)
- 图文:4-12 【总结】数据库基础优化
- 第5章 V1.5 : 优化数据层并发【MySQL并发优化】12 节 | 81分钟
- 随着用户增多,Web应用并发持续增大,数据库并发能力还将是最常见的瓶颈。本章将讲解最常见的几种高并发情况下数据库的优化方法,包括数据库连接池、主从分离、分表分库等。
-
- 视频:5-1 数据库并发优化背景简介 (06:33)
- 视频:5-2 数据库连接池讲解 (05:55)
- 图文:5-3 【笔记】Go 连接池分析
- 视频:5-4 Comments分表设计思路与配置 (04:52)
- 视频:5-5 Comments分表与程序重构 (09:04)
- 视频:5-6 MySQL binlog初识 (07:03)
- 视频:5-7 docker基础操作简介 (10:57)
- 视频:5-8 基于binlog搭建MySQL主从服务 (09:58)
- 图文:5-9 【笔记】Docker搭建MySQL主从
- 视频:5-10 基于应用层的MySQL读写分离实践 (11:00)
- 视频:5-11 设计模块分库思路讲解 (05:08)
- 视频:5-12 数据库垂直拆分应用实践 (09:51)
- 第6章 V1.8 : 搜索模块优化【搜索模块接入ElasticSearch】8 节 | 87分钟
- 数据库MySQL并不擅长做全文检索,搜索模块我们引入了搜索引擎ElasticSearch。这一章和大家一起学习ElasticSearch基础应用,并将其嵌入到我们的搜索功能中。
-
- 视频:6-1 MySQL全文搜索性能评估 (06:18)
- 视频:6-2 Elasticsearch简介 (02:38)
- 视频:6-3 安装ES搜索引擎 (04:36)
- 视频:6-4 Elasticsearch使用基础 (07:29)
- 视频:6-5 搭建Elasticsearch模块框架 (13:26)
- 视频:6-6 Elasticsearch创建索引 (20:52)
- 视频:6-7 搜索模块分析 (07:12)
- 视频:6-8 搜索模块开发实现 (23:55)
- 第7章 V2.0:静态缓存优化【页面静态化与伪静态化】11 节 | 97分钟
- 本章主要介绍静态化和伪静态化的背景知识,并在应用层实施首页静态化方案。
-
- 视频:7-1 页面静态化与伪静态化简介 (07:29)
- 视频:7-2 页面静态化方案分析 (09:00)
- 视频:7-3 filecache包使用简介 (06:32)
- 视频:7-4 搭建页面静态化框架 (07:58)
- 视频:7-5 实现pagecache逻辑封装(上) (12:25)
- 视频:7-6 实现pagecache逻辑封装(下) (05:11)
- 视频:7-7 在BaseController中实现页面静态化 (06:19)
- 视频:7-8 页面静态化性能测试 (03:47)
- 视频:7-9 Beego 伪静态化实践 (07:59)
- 视频:7-10 清理过期缓存文件 (17:46)
- 视频:7-11 分类缓存改造 (12:07)
- 第8章 V2.1:动态缓存优化【基于Redis的动态缓存实践】11 节 | 123分钟
- 动态缓存是一种常用的提升数据读写并发能力的手法。本章应用Redis组件对动态数据按一定策略进行缓存,有效减轻数据库压力。
-
- 视频:8-1 动态缓存应用简介 (09:23)
- 视频:8-2 安装redis服务 (15:47)
- 视频:8-3 redis基础应用简介 (15:05)
- 图文:8-4 【笔记】Redis安装以及基础使用
- 视频:8-5 Go实战Redis基础(上) (07:48)
- 视频:8-6 Go实战Redis基础(下) (15:14)
- 视频:8-7 初始化动态缓存 (10:58)
- 视频:8-8 封装redis的Do方法 (03:23)
- 视频:8-9 dynamicache工具方法封装 (15:45)
- 视频:8-10 实现图书详情页动态缓存逻辑 (09:56)
- 视频:8-11 实现社区化个人主页动态缓存逻辑 (19:38)
- 第9章 V2.2 : 文件下载优化【文件服务拆分与CDN接入】7 节 | 73分钟
- 本章中主要是对文件下载进行优化。通过介入阿里云的CDN服务,来和大家一起实践CDN服务的应用,并穿插讲解使用CDN服务时常遇到的一些问题。
-
- 视频:9-1 CDN简介 (06:24)
- 视频:9-2 开通阿里云ECS服务- (06:51)
- 视频:9-3 开通阿里云OSS服务 (03:42)
- 视频:9-4 开通阿里云CDN服务 (03:20)
- 视频:9-5 配置CDN回源OSS (19:48)
- 视频:9-6 OSS基础应用简介 (10:41)
- 视频:9-7 图书附件CDN改造 (21:25)
- 第10章 V2.5 : Web服务并发优化【基于Nginx的负载均衡实践】5 节 | 58分钟
- 在解决了数据层的瓶颈以后,我们把焦点集中在服务本身的性能提升上。如果我们的服务是无状态的,那我们可以对服务进行平行扩展。本章将和大家一起应用Nginx搭建双机负载均衡架构。
-
- 视频:10-1 负载均衡背景简介 (07:28)
- 视频:10-2 安装Nginx (05:55)
- 视频:10-3 基于Nginx配置反向代理与负载均衡 (18:28)
- 视频:10-4 多机部署Session同步问题讲解 (13:25)
- 视频:10-5 总结与回顾 (12:14)