|
目录:- p6 P2 x! _. @3 e$ s1 K
第1章 课程介绍与学习指南4 节 _ 39分钟( J0 G3 c- @, |% g. D& M
本章主要对课程做整体介绍,其中包括:课程要解决的问题、课程特色和亮点、课程内容安排、学完大家的收获,以及在学习方法上提出的建议与指导。
( O+ @0 r! a0 F/ B9 C7 X
, K p# d( [; F! ~第2章 12306这个系统架构到底有多牛?8 节 _ 71分钟, F1 K7 o$ t: R/ D7 G) l! n
本章主要对课程为什么选择12306课程作为实战项目,以及该项目具备哪些亮点及优势做全面分析介绍,从而让大家了解课程设计的初衷以及要达到的目的。' q, z3 Z$ N# L& m# ~# o' Z' G, I
1 O7 S1 ^0 v1 i; R: Q9 W9 D4 x5 T" y
第3章 最新版的SpringBoot3&JDK9~17新特性详解14 节 _ 101分钟
/ s6 Y. _, I' a( A7 F, E) n& K目前市面上大多数Java项目都还在用JDK1.8,导致很多程序员也没用过高版本JDK,本章将带大家从JDK9到JDK17学习每个版本的一些重要的特性,以及最新发布的SpringBoot3的新特性,并在项目开发中全面应用。
, I# Y0 k7 @9 q1 |8 B+ [. G( k: V! i) f$ n. U
第4章 新版Spring Cloud Alibaba与Springbooot搭建后端架构20 节 _ 261分钟; q$ R+ Q5 `: t3 }! c8 L
本章主要学习微服务项目架构的搭建,使用Maven搭建Spring Cloud Alibaba微服务架构,学习微服务核心组件:注册中心Nacos和路由Gateway,完成项目的工程配置,如:Git, Maven, 热部署、编码等。 K: U* K" c1 @; K/ m
^( A$ m3 O! }' c5 n, j" I第5章 使用Vue3 + Vue CLI 实现系统前端模块的搭建13 节 _ 207分钟: ^3 Q E8 {, P" I9 W8 o$ h; q
本章将完成项目前端模块搭建,创建Vue CLI 项目Web,集成支持Vue3的UI组件库Ant Design Vue,完成网站页面基本布局,集成Vue-Router路由、Axios等组件。
: y! M- A2 h0 g$ h5 }' F" T9 |- H# N6 h
第6章 实现JWT单点登录功能10 节 _ 103分钟: T# |" y0 u! X! n8 W
单点登录是企业项目中必有的一个功能。本章介绍两种常见的单点登录信息,一种是redis+token的方案,一种是jwt方案,都是项目中常用的,课程中使用的是jwt方案来实际单点登录功能。
2 u4 N% G& V1 P: @ V! V8 X+ K- I$ L9 K/ g$ E) a z
第7章 12306系统会员基础功能的实现18 节 _ 210分钟
8 O# ?4 ^ k7 r2 D3 r6 f2 X) ~本章将带领大家完成会员模块的相关功能,其中包括会员注册、登录,乘车人管理等,详细讲解单点登录,以及使用Gateway增加登录校验,对会员业务功能进行统一做异常处理,并对乘车人相关接口、界面进行开发,为后续购票功能做准备。...
! ^* A: t; `0 s0 n: z2 F c2 }
7 y7 G; I" k& h4 ~! r8 ^# h8 C% k第8章 自制前后端代码生成器提高开发效率11 节 _ 167分钟- T' ^9 i& U( P* u: R
本章将演示代码生成器的制作,学习模板引擎freemarker的使用。通过代码生成器可以快速生成dto、service、controller和vue界面代码,再配合上mybatis generator,可以快速完成单表的增删改查管理功能,极大的提高开发效率。另外,本章的知识也可应用于静态页面生成、导出复杂excel等涉及文件生成的场景。...! H9 x2 i8 w9 ~% R% G( v
& A& y/ ?8 S# K4 Z$ J第9章 利用代码生成器快速实现火车基础数据的维护20 节 _ 261分钟
# Z& z' k+ [6 }" ~+ d5 _/ T8 Z9 ]# V本章将带大家开发车次信息管理功能,以及车次、车厢筛选的相关接口的开发,完善车站、车厢管理、座位管理等界面的功能,利用代码生成器,可快速完成多张表的增删改查功能。6 Y' l! f4 F, [
! O8 V- S# s8 l3 {" k/ s4 K7 S
第10章 使用调度框架quartz,为12306系统增加定时调度功能10 节 _ 87分钟1 P3 T. ]' O9 m6 X( ~
定时调度模块在微服务系统中是非常常见,也是非常重要的一个模块,通常一些逻辑复杂,实时性不高的功能会放到定时调度模块中执行。本章将对调度框架quartz及其异步线程组合做详细讲解。2 _" |6 m' \. y' u6 r- O
3 ^ x0 f( Q. w5 Y( K I
第11章 通过火车基础数据生成每日火车数据13 节 _ 188分钟
" N. \6 }, J; G' Z& M/ R本章介绍利用上一章知识,制作定时任务,定时生成每日车次信息,包含车次、车站、车箱、座位,同时也包括余票信息,为后续余票查询和售票功能做准备。当定时任务异常时,使用手动生成车次信息作为补偿的实现。
5 G% a1 ?4 r; {$ r4 ?/ W) z! X& T* s9 q4 n2 r
第12章 基本的车票预定功能开发24 节 _ 464分钟; h- F) }7 ?# {# w7 H0 z" r
本章完成余票查询与购票功能,先不考虑高并发,优先完成主功能逻辑,为后续高并发场景做准备,学习服务间调用组件Feign的使用。
7 d# k9 C. J% N- y1 u9 z8 Z+ F
1 O6 I: I; @/ Q3 g X' ^6 H第13章 集成注册中心与配置中心组件Nacos(动态修改线上的配置)10 节 _ 88分钟
) N7 o/ y( h6 X- U( N9 f0 m本章介绍Spring Cloud Alibaba的核心组件之一:Nacos,用作注册中心和配置中心。通过注册中心,可以查看所有的应用列表,机器数、健康数等信息;通过配置中心,可以动态的修改应用配置,无需重启应用,实时生效。
7 |( X3 i6 t" s" M, N1 e% ~5 V8 w! F( _! y0 ]' Z' V7 R
第14章 高性能余票查询的实现(前端缓存&本地缓存&分布式缓存)10 节 _ 96分钟
F% j( J9 ]5 v5 O( N4 M4 l5 N2 k) k: y本章主要介绍在高并发场景中,如何实现高性能的余票查询,学习缓存技术,并对缓存常见问题进行讲解,如击穿、穿透、雪崩等,解决如何增加更新余票的定时任务及余票缓存初始化等问题。同时讲解前端缓存、本地缓存、持久层一级/二级缓存、分布式缓存等。...
( u8 E- n2 |' [2 _! j& t
9 B$ x" e2 p( J! a' Z( L第15章 集成分布式事务组件Seata(解决分布式系统中的数据一致性问题)8 节 _ 93分钟: {. ?9 H) o! d( V3 u5 K/ R
在微服务架构中,一个功能会同时操作多个应用,传统的事务无法保证多个库之间的数据一致性,从而需要做很多额外的补偿动作和分支判断,有了Seata之后,可以很方便的开启分布式事务,保证数据最终一致性。& K w' Q+ P! c7 ]! F
5 C$ P9 f. \8 y$ A7 ~
第16章 高并发抢票时,利用各种锁解决车票超卖问题(JDK锁&分布式锁&看门狗设计&红锁)9 节 _ 119分钟) M# m# F3 d( R+ y1 ]( J
超卖问题在高并发场景中非常常见的,本章将讲解如何利用各种锁防止超卖,重点学习Redis分布式锁,解决如何实现分布式锁加过期时间与原子性加锁等问题。
9 W% ^; {- T0 L1 W& o7 U
# F( @& K- R7 `第17章 高并发抢票时,使用Sentinal组件进行请求限流降级(过滤90%的无效请求)12 节 _ 127分钟 i0 O7 U Y5 _7 ^8 B: W% S
本章学习常见的限流手段,重点学习Sentinal的使用,在高并发中,短时间内会有大量请求进来,但并不是所有的请求都能买到票,所以我们需要对请求做限流,以减轻服务器无谓的请求。
0 E. @* k/ j& q; N( c- \
{1 a- x @% n. s2 q' x第18章 高并发抢票时,防止机器人刷票的令牌大闸,可减轻服务器的压力(防刷+限流)8 节 _ 87分钟0 g \& o# L& e$ }
本章主要讲解令牌大闸的使用,进一步减轻服务器压力,对令牌桶与令牌大闸及如何增加通用秒杀令牌大闸做详细介绍,实现如何为令牌接口增加防机器人刷票的功能,以及如何为令牌接口设置限流等。: Y: j% Q4 A4 x) Z2 C" v* P
, }9 q/ v# v3 C: y( R第19章 利用流行的MQ组件对请求做削峰处理,解决吞吐量问题(实现最短时间内给用户反馈)12 节 _ 143分钟
; T7 ?; C" K' ~6 V1 w在高并发中,除了解决超卖问题,还要解决吞吐量问题,本章主要利用MQ对请求做削峰处理,并引入引入排队机制,在最短的时间内,给用户以反馈。; J3 l$ ~8 n9 W+ h4 K
8 b) z, L* g' a
第20章 压力测试-高并发优化前后的性能对比(单机性能提升25倍左右)7 节 _ 44分钟
0 A, s- o6 u5 B/ @. g本章介绍介绍压测相关的知识,并使用JMeter对代码进行压测,对比高并发优化前后的性能,从结果看出,不管从吞吐量还是并发量来说,单机性能都提升了25倍左右。
' Q$ U* `- r* b. b
$ L6 }( W5 T: a/ V7 b2 H8 `5 h; t第21章 企业级项目上云(阿里云部署)17 节 _ 128分钟
, u- z% Y5 ^5 |0 U9 }本章主要介绍如果将写好的项目部署到生产环境,供用户访问,包括前后端发布,及微服务器nacos, sentinal等组件的发布。
; r" ~9 Y+ V0 j3 l3 L$ c# L
: |3 U- F' X$ v0 i+ i, G第22章 项目优化9 节 _ 73分钟
l! _ R8 F! z本章从两个方面对项目做优化:1. 项目功能,在前面的章节已经完成了项目的核心功能,但还有些细节功能可以完善,本章将对项目功能做查缺补漏;2. 体验功能,项目做了很多高并发的优化,单从现有界面的操作来看,体现不出项目的特性,为了让大家更好的体验这个项目的功能,本章将加入一些体验功能。...
$ k2 i t1 f. {
. t; _' u s* |% t, d) r第23章 课程总结1 节 _ 8分钟
3 L- `6 @; h' v0 `+ H8 c本章主要对课程内容进行梳理,总结课程中的重难点,帮助大家更好的学习该课程,提升自身的技术水平,在职场中更具有竞争力。
4 }/ Z9 j; k' K& Z2 l/ M/ m& w+ T% `! F6 }# z$ L2 h- d- K
. X- l# }; C% S$ C资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见. q, W: b- N+ R. v+ C
. P) d7 L9 ]9 |+ x) Y. v. `* E0 ~1 w; E
7 X$ ?+ }* h5 R/ E# d0 i# F
本资源由Java自学网收集整理【www.javazx.com】 |
|