第1章 課程介紹
本章從總體上介紹課程有什麼收穫,以及課程如何安排,其中包括微服務的兩個不一樣學習階段--單體開發階段(基於SpringBoot)和微服務改造階段(基於SpringCloud),知識點梳理&問答:https://www.imooc.com/article/23408( \& A3 d4 v- \$ j3 I; c5 @
1-1 課程導學
$ Z Q9 s( y* l5 H7 ^5 q- Y
第2章 單體架構之項目概要設計&數據表設計
本章會帶着你們對房產銷售平臺一功能、模型、流程三個方面進行需求分析,以後咱們將抽取出項目中的功能模型,分析功能模型之間的關聯關係,同時在本章咱們會對房產銷售平臺單體架構進行技術選型和架構設計,學習到作好技術選型有哪些技巧;以後會進行數據庫設計,將功能模型落地到數據庫中,並手把手帶着你們使用Navicat Premiu...' }8 `. a% f3 a, {: h* \. S
2-1 項目需求分析
2-2 單體項目技術選型和架構設計" F& v& w" u& f+ W! r
2-3 數據庫設計概述" W7 R' Y/ ~' m9 p6 p y z
2-4 房產表設計- x( O P- W" {6 R) j
2-5 房產用戶表,房產信息表設計! W6 I- u: o B# U; F. p
2-6 用戶表設計' m4 J0 Z, }* C0 D
2-7 小區表,評論表設計1 z& u- C8 M5 F- T8 R& D3 C2 M8 Q& I
2-8 博客表,經紀機構表設計_音頻.mp4 l( R& M; j0 s9 d; v- w% l
: O+ h% C/ S7 ~3 G8 P6 U0 t
第3章 單體架構之SpringBoot工程框架搭建與技巧1 G( l- x6 y4 Q& K0 h. J- q* ]
本章首先手把手教你們搭建Java,Maven開發環境,安裝IDE工具STS; 而後以多種方式建立SpringBoot工程,並講解SpringBoot的幾大特性,pom文件接入SpringBoot的不一樣方式,內嵌servlet容器的接入與替換,Starter(起步依賴)的實現原理,SpringBoot與Mybatis,Freemarker等組件的整合,SpringBoot進行錯誤頁處理, 自定義Starter,讓你們...
3-1 開發環境搭建與驗證(jdk,maven,sts)- G! I, R. g& }. X
3-2 建立SpringBoot工程3 m* q" p& f) \
3-3 引入內嵌servlet容器
3-4 數據訪問層搭建-整合MyBatis3 m" j9 \% ?8 A5 o; x
3-5 數據訪問層搭建—集成Druid鏈接池% h' U1 v4 L3 v# @
3-6 表現層搭建-整合freemarker* \/ S" Z- C& F9 J2 T- m
3-7 表現層搭建-freemaker結構化佈局
3-8 SpringBoot起步依賴stater ?9 q; O! u6 ` h5 A& R. }6 d
3-9 自定義SpringBoot起步依賴stater
3-10 maven多mudule工程實現
3-11 錯誤頁面處理
3-12 學習spring boot技巧分享* A4 ?3 |( _) B7 M0 j: y
) A; C" o! o1 k$ Y$ Q+ ]
第4章 單體架構之用戶註冊及我的頁面功能開發
本章會深刻剖析SpringMvc的請求處理流程,並藉助Guava Cache完成註冊key的綁定,同時會詳細介紹Guava Cache的存儲數量限制,過時設置,事件監聽器,以後使用Spring Mail + Spring Task完成異步發送激活連接;並經過Nginx搭建支持用戶頭像等靜態資源的訪問,以後會講解用戶註冊、用戶登陸、用戶鑑權的業務流程,並編寫Sp...
4-1 SpringMVC總體流程講解
4-2 用戶註冊-功能演示與流程講解. a( ~8 w0 R# k0 l; v% q8 x) Y+ V7 J
4-3 用戶註冊-後端代碼實現-1/ f) B- M9 H1 P. k
4-4 用戶註冊-後端代碼實現-2& l f6 ~6 A7 g) ^2 I' O
4-5 用戶註冊-guava cache及異步spring mail發送激活連接* I! |! f* R2 l
4-6 註冊流程-安裝ngnix-1( ~( f; `* O3 J$ ^1 b G7 R
4-7 註冊流程-安裝ngnix-27 k! M; R8 @1 K: @
4-8 登陸流程-後端代碼實現
4-9 用戶登陸流程-spring攔截器實現鑑權-1
4-10 用戶登陸流程-spring攔截器實現鑑權-2
4-11 spring攔截器編寫步驟6 b) | m, [/ m! w
4-12 我的頁面開發2 E4 G4 R s5 s* [5 }
4-13 SpringBoot單元測試
第5章 單體架構之房產和推薦功能開發(分頁組件、Ajax、Redis)
本章我會封裝一個後端分頁組件來完成房產列表分頁功能,並帶領你們應用Ajax技術實現房屋的評分和收藏, 以後會講解如何經過table join查詢來實現房屋收藏列表, 使用Redis的sorted sort數據結構來實現熱門推薦,使用Jedis客戶端工具進行Redis操做,每一個功能的實現我都會帶你們由功能演示到代碼實現再到驗證測試,而後...; j" K$ P- O/ d8 M9 ]" L0 `3 |
5-1 房產列表實現-1% q/ A+ J0 S% C8 s) Z0 R% z6 w
5-2 房產列表實現-2' A- r" y% ]3 D+ |. |9 u8 N5 z8 Z C
5-3 房產列表實現-3
5-4 房產列表實現-4: B. {1 m! F' g0 p+ I
5-5 訪問詳情的實現, p, x/ _9 [3 m9 z
5-6 經紀人詳情實現4 U4 p; Z7 o4 }. A
5-7 熱門房產的實現
5-8 首頁推薦的實現
5-9 添加房產實現-1
5-10 添加房產實現-2
5-11 添加房產實現-39 R, N! Z# P4 t" b; _
5-12 經過ajax實現收藏與評價
第6章 單體架構之上線部署和監控實戰(SprinBoot插件和工具)
本章會介紹Spring-Boot-Maven-Plugin的特性,以及如何配置SpringBoot maven打包工具,並經過SprinBoot提供的maven Plugin工具進行打包, 以後會講解如何在工程接入SpringActuator來監控咱們的應用,固然除了內嵌的監控組件,還會帶來你們一塊兒搭建SpringBoot Admin做爲咱們的外部可視化監控平臺,並介紹SpringBoot Admin...
6-1 單體架構上線部署
6-2 經過SpringbootActuator進行健康監控
6-3 經過Spring Admin搭建簡單監控平臺/ ~7 `6 z0 t$ M9 k! ]3 m. A
第7章 單體架構的不足和解決方案
本章會介紹單體架構的優點和不足,還會講解微服務架構是如何解決單體架構的問題。微服務也會帶來一些挑戰,那微服務都面臨哪些挑戰,面對這些挑戰咱們應該怎麼來作,微服務須要關注哪些方面,微服務的最佳實踐是什麼, SOA和微服務有什麼區別,這些問題都將在本章中獲得答案。...
7-1 單體架構的優點和不足
7-2 微服務架構的優點* z8 ]1 x! l( }/ G+ K* t
7-3 微服務架構的挑戰
7-4 微服務最佳實踐
5 N7 x+ [: a/ O" g) A. ?1 A
第8章 微服務架構之服務拆分、肯定服務邊界6 T) T; X+ C# m: K+ N
本章結合房產銷售平臺項目闡述微服務拆分的原則,如何在處理服務拆分又能同時知足需求迭代,如何在服務拆分時又兼顧業務模型和團隊結構,康威定律在架構設計中的應用。 同時對於如何作好架構設計,一個系統的架構是否優秀須要進行哪些衡量;微服務架構下,咱們如何進行數據庫拆分等問題,在本章中都能獲得答案。...8 u) g7 h6 O6 W) I
8-1 微服務拆分的原則和方法5 g# y1 `( b$ g5 M5 y" @: d
8-2 從建模到模塊服務拆分3 D/ {' v1 n* X2 d
8-3 微服務數據庫的拆分
8-4 微服務架構下如何保證數據一致性
- l4 m2 A/ h3 ?! s$ z2 z) P
第9章 微服務架構之SpringCloud技術棧的選型及架構設計
本章會介紹SpringCloud基礎知識,SpringCloud套件組件,微服務的架構場景,在目前SpringBoot工程中接入SpringCloud。而後進行微服務架構設計,搭建一個支持微服務架構的腳手架,包含服務註冊和發現組件Spring Cloud Eureka,服務通訊組件RestTemplate以及二次封裝,同時支持直連和服務發現,負載均衡組件Spring Cloud R..., F) g9 b0 `2 K; w8 e
9-1 技術選型及Spring Cloud介紹! }1 x0 ]7 q9 P- _5 P# R7 X
9-2 微服務技術架構設計& o) L a# y/ K+ c4 R9 o" V
9-3 Spring Cloud Eureka服務註冊和發現-1
9-4 Spring Cloud Eureka服務註冊和發現-2# f7 ]0 `7 X1 W2 K
9-5 Spring Cloud Eureka服務註冊和發現-3
9-6 RestTemplate + httpclient及http日誌輸出-1# Z1 ^5 N- n6 H r6 f3 F+ h W
9-7 RestTemplate + httpclient及http日誌輸出-2
9-8 RestTemplate + httpclient及http日誌輸出-3# k! D, I; H) G# Z1 d
9-9 RestTemplate + httpclient及http日誌輸出-43 H; b- v3 S6 K& M( |! @* h/ y) `8 Y
9-10 Spring Cloud Ribbon負載均衡組件實戰! n: U9 J! E" E8 w
9-11 微服務代碼腳手架搭建-14 e6 l5 i2 w! _( Q# Z7 ]
9-12 微服務代碼腳手架搭建-29 \- z/ p" ~6 p! _
9-13 使用Feign實現服務調用【拓展知識】
( M# E. y0 x( [3 j2 P" i! {/ v3 u
第10章 微服務架構之用戶服務實戰(SpringData Redis及JWT等技術)
本章我將學習到用戶服務的接口設計,接入Spring Data Redis緩存實現用戶查詢接口,並基於JWT(Json Web Token)實現身份認證和鑑權; 在介紹SpringData Redis以前我會帶領你們一塊兒安裝Redis,並經過時序圖詳細講解從基於Session到Token再到JWT進行身份認證方案的演進過程,詳細分析各個方案都有什麼優缺點,最終藉助JW...9 S& H9 T: s; A
10-1 用戶服務接口設計3 |9 ?! M+ V9 n+ D! C: o* `1 y' _
10-2 接入分佈式緩存Spring Data Redis實現用戶查詢接口7 r$ X" G4 u% ~) p8 {" |' c z8 _) o
10-3 新增用戶、激活用戶接口設計
10-4 基於JWT的Token認證明現登陸、鑑權接口-1) l; f; z( [3 h3 g. w+ u0 r
10-5 基於JWT的Token認證明現登陸、鑑權接口-2
10-6 經紀人、經紀機構接口設計, w& ~1 ?- v5 O' ]
1 Y0 r3 W+ u, ?8 B" F+ H
第11章 微服務架構之網關服務API Gateway實戰
本章將介紹微服務API Gateway模塊的實現,首先我會介紹API Gateway的接口設計,並經過RestTemplate來調用咱們的用戶服務來完成用戶註冊、登陸和登出,以及我的頁的編寫,以及和原生的RestTemplate比較,最後會帶你們基於RestTemplate封裝一個更加易用的RESTFul組件,包括狀態碼判斷,異常處理,請求連接構建,響應結果反序列.... V% c# h% @: m4 q- z+ F5 b5 g
11-1 API Gateway—模塊設計; Z' ?( }' G# O& a9 l
11-2 用戶註冊實現
11-3 經過jwt token替換session實現用戶登陸與鑑權
11-4 二次封裝RestTemplate實現我的頁展現* c" S: E' F. u
11-5 獲取經紀人詳情頁! e' Z) e1 n, G# F% a. B$ K
8 y! F7 k; P5 R* O* ^3 K+ }
第12章 微服務架構之房產服務
本章我將介紹房產服務以及經過API Gateway調用房產服務實現房產功能,同時介紹房產服務的接口設計,並經過Swagger暴露接口文檔,以及Swagger的接入過程,最後介紹API Gateway調用房產服務完成房產詳情、房產收藏的實現過程。
12-1 房產服務接口設計. k+ u5 }; c5 r* c' p
12-2 新增房產接口, 收藏房產接口, h' ]( i8 \* M! s! M) h5 ?8 I
12-3 房產查詢接口設計
12-4 評分與留言接口設計& D( Z$ V1 {" u# E) s9 E+ a
12-5 房產推薦接口設計: I7 b( ]/ C$ X- ? ] [2 R) U
12-6 經過Swagger暴露接口文檔% U$ n3 z5 a) X% m; N
12-7 返回房產列表房產詳情(API Gateway調用房產服務)( D9 N$ t# b2 b- |9 e4 J
12-8 用戶收藏房產實現(API Gateway調用收藏服務)8 |5 P% y5 N& d5 I: o, e* P
12-9 SpringBoot CORS跨域解決方案- J: b3 _* `/ b3 T* k; h
第13章 微服務架構之評論博客服務
本章我將介紹評論博客服務的接口設計。首先在博客評分服務編寫出接口實現,而後經過API Gateway調用評論服務,展現評論列表,並經過API Gateway調用博客服務,展現博客列表。
13-1 接口設計
13-2 評論列表接口設計
13-3 展現評論列表(API Gateway調用評論服務)% @/ D" Q$ n O% Z% P
13-4 博客服務接口設計
13-5 博客列表及詳情接口設計$ o) v' B& o! \5 k3 ~
13-6 展現博客列表(API Gateway調用博客服務)4 \; G8 w1 y5 \! M7 x( }
第14章 微服務架構之Spring Cloud Hystrix實現服務容錯
本章咱們將學習微服務常常遇到的問題----級聯故障,並深刻講解級聯故障發生的背景和緣由,進而引出解決級聯故障的解決方案---SpringCloud Hystrix斷路器,並講解Hystrix斷路器相關概念(艙壁隔離、超時控制、服務降級、服務熔斷),Hystrix斷路器的工做流程,工程接入Hystrix的步驟,接入後咱們會進行實際演示來驗證Hystri...
14-1 Spring Cloud Hystrix斷路器介紹
14-2 Spring Cloud Hystrix的接入-1
14-3 Spring Cloud Hystrix的接入-2) G3 Z% g% b1 e
14-4 Spring Cloud Hystrix工做原理/ C0 ?. G m& x1 M( i
]3 l- o. L E
第15章 微服務架構之全鏈路追蹤、搭建ELK日誌檢索架構
本章咱們將學習微服務的鏈路追蹤和日誌檢索,首先介紹下全鏈路追蹤的背景及 一些基本概念,引出並講解解決方案Spring Cloud Sleuth,,以後日誌配置文件如何修改輸出TraceId、SpanId,並經過Zipkin Ui圖形化查詢鏈路調用狀況,並講解Spring Cloud Sleuth的工做原理, 對應日誌檢索,ELK架構所用的三種技術及數據流程,...
15-1 Spring Cloud Sleuth全鏈路追蹤解決方案介紹7 J% |4 S; L3 d( u5 L
15-2 接入log4j2日誌組件- f( Y" v1 l8 h( m, a
15-3 接入Spring Cloud Sleuth及與Zipkin配合使用
15-4 Spring Cloud Sleuth的工做原理
15-5 ELK架構介紹及ES、Kibana的搭建-日誌檢索方案5 M$ j- l( I' Z9 {; {
15-6 Logstash配置的編寫和調試9 K* B- h: i# G, l* r5 B9 ^
15-7 Kibana展現平臺的使用( j7 a) t7 D& K; Y9 {
第16章 課程總結" R( R# M; b) r5 F8 J
本章就到了課程的尾聲了,微服務是致力於後端架構開發同窗的必備技能,本章會經過腦圖從新梳理單體和微服務架構知識圖譜,讓你們可以對前面學到的東西進行記憶強化,但願你們都能學以至用,學有所成,開啓職業新篇章。...ajax