性能优化+架构迭代升级,Go读书社区web开发与架构
课程先使用Go语言及Beego框架进行项目开发,快速迭代上线,然后进行包括主从和分表分库、搜索优化、页面静态化、动态缓存、下载优化、服务负载均衡等一系列架构优化,最后实现Web应用的高可用&高并发。
适合人群
对Go语言有浓厚兴趣
不满足于CRUD开发,有兴趣开发大型的Web应用
技术储备要求
熟悉GO 语言基础,能自行完成基础环境搭建
熟悉linux、MySQL常用操作命令
[wm_tips]试看链接:https://pan.baidu.com/s/1kIg1p7uV5I5H-16hqPn9Qg
提取码:1ytu
[/wm_tips]
章节目录
第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)
本课程已完结