應用Dubbo框架打造仿貓眼專案 理解微服務核心思想
應用Dubbo框架打造仿貓眼專案 理解微服務核心思想
-
第1章 微服務入門
本章中將概要介紹微服務與傳統應用之間的差異與實現優勢,以便於幫助同學們更加清晰微服務在專案開發中的定位。
- 1-1 學前必讀(助你平穩踩坑,暢學無憂)
- 1-2 課程導學
- 1-3 傳統應用帶來的問題
- 1-4 微服務概述
-
第2章 演示環境構建
本章中將通過一系列的基本演示,讓同學們可以對Dubbo有一個快速直觀的認識。當前專案中構建了目前Dubbo的兩種主流相容框架Spring和Springboot,並且都進行了Dubbo整合,以便於適應多種需求下的應對使用。
- 2-1 基礎環境構建介紹
- 2-2 Spring基礎環境構建
- 2-3 Spring的直連提供者
- 2-4 SpringBoot基礎環境構建
- 2-5 SpringBoot直連提供者演示
- 2-6 註冊中心概述
- 2-7 Zookeeper-windows安裝
- 2-8 Spring整合註冊中心
- 2-9 Springboot整合註冊中心
-
第3章 業務基礎環境構建
經過上一章節的演示,讓大家瞭解到Dubbo與Spring、Springboot整合和基本使用,本章中會將Dubbo與Guns進行整合,構建一個業務系統的基本環境,同時針對API閘道器進行了一個簡單的描述和引入,為後續章節打下鋪墊。
- 3-1 API閘道器介紹
- 3-2 Guns環境構建
- 3-3 API閘道器模組構建測試
- 3-4 API閘道器整合Dubbo
- 3-5 抽離業務API
- 3-6 理解Dubbo的呼叫流程與Dubbo多協議解析
-
第4章 Dubbo基本特性:使用者模組開發
本章中將基於Springboot和Dubbo的結合,進行使用者模組業務開發,並且會學習註冊發現、負載均衡、路由策略等多項Dubbo核心特性。除此以外,會進一步瞭解API閘道器與業務模組的結合和開發。
- 4-1 使用者模組概要介紹
- 4-2 介面文件和sql語句見面會
- 4-3 使用者服務與閘道器互動
- 4-4 基於Springboot配置忽略列表
- 4-5 基於使用者業務的API修改
- 4-6 修改JWT申請的返回報文
- 4-7 Threadlocal儲存使用者資訊
- 4-8 JWT修改測試和總結
- 4-9 使用者模組-DAO層程式碼生成
- 4-10 使用者模組-註冊業務實現
- 4-11 使用者模組-登陸和使用者名稱驗證實現
- 4-12 使用者模組-查詢使用者資訊
- 4-13 使用者模組-修改使用者資訊實現
- 4-14 閘道器模組-註冊功能實現
- 4-15 閘道器模組-使用者名稱檢查和退出功能實現
- 4-16 閘道器模組-使用者資訊相關功能實現
- 4-17 使用者名稱驗證介面測試
- 4-18 使用者註冊介面測試
- 4-19 使用者資訊查詢介面測試
- 4-20 使用者資訊修改介面測試
- 4-21 Dubbo特性-啟動檢查
- 4-22 Dubbo特性-負載均衡
- 4-23 Dubbo特性-多協議支援
- 4-24 章節總結歸納
-
第5章 Dubbo服務開發:影片模組開發
本章中將結合影片模組的開發,幫助同學們進一步瞭解Gateway的功能聚合的開發、非同步呼叫等Dubbo特性;同時,會引入Lombok框架,並將詳細講解Dubbo的通訊、執行緒模型等特性,以及相應的業務實現。
- 5-1 影片模組介紹
- 5-2 影片模組建立
- 5-3 初識API閘道器特性 - 功能聚合
- 5-4 Lombok框架引入和使用介紹
- 5-5 首頁實現 - VO物件建立
- 5-6 首頁實現 - Api介面定義
- 5-7 電影模組-資料層生成
- 5-8 首頁實現 - Banner資料層
- 5-9 首頁實現 - 影片查詢
- 5-10 首頁實現 - 其他查詢
- 5-11 首頁實現 - 資料層補充及API整合
- 5-12 首頁實現 - 測試及ResponseVO調整
- 5-13 條件列表實現 - 表現層及互動實體實現
- 5-14 條件列表實現 - 結構建立
- 5-15 條件列表實現 - 資料層實現 (1)
- 5-16 條件列表實現 - 資料層實現(2)
- 5-17 條件列表實現 - 表現層業務講解
- 5-18 條件列表實現 - 表現層業務實現(1)
- 5-19 條件列表實現 - 表現層業務實現(2)
- 5-20 條件列表實現 - 表現層業務實現(3)
- 5-21 影片查詢功能實現 - 思路介紹
- 5-22 影片查詢功能實現 - Service層實現
- 5-23 影片查詢功能實現 - 資料層實現(1)
- 5-24 影片查詢功能實現 - 資料層實現(2)
- 5-25 影片查詢功能實現 - 資料層實現(3)
- 5-26 影片查詢功能實現 - 閘道器實現
- 5-27 影片查詢功能實現 - 單元測試
- 5-28 影片詳情查詢 - 業務介紹
- 5-29 影片詳情查詢第一部分 - API定義
- 5-30 影片詳情查詢第一部分 - 自定義SQL實現(1)
- 5-31 影片詳情查詢第一部分 - 自定義SQL實現(2)
- 5-32 影片詳情查詢第一部分 - 自定義SQL實現(3)
- 5-33 影片詳情查詢第一部分 - 閘道器實現
- 5-34 影片詳情查詢第二部分 - API定義
- 5-35 影片詳情查詢第二部分 -資料層實現(1)
- 5-36 影片詳情查詢第二部分 - 資料層實現(2)
- 5-37 影片詳情查詢 - 閘道器實現
- 5-38 業務結果測試
- 5-39 Dubbo特性之非同步呼叫講解
- 5-40 Spring版Dubbo非同步呼叫演示
- 5-41 業務系統整合Dubbo非同步呼叫(1)
- 5-42 業務系統整合Dubbo非同步呼叫實現(2)
- 5-43 影片模組總結
-
第6章 Dubbo服務開發:影院模組開發
本章中將完成影院模組開發,保證整個業務的連貫性,同時將詳細講解包括併發控制、連線控制、事件通知和結果快取等Dubbo特性,並結合相應的業務進行實現。
- 6-1 章節導讀和表結構介紹
- 6-2 影院模組構建
- 6-3 影院模組服務閘道器結構構建
- 6-4 介面文件與介面之間的對應關係
- 6-5 分析服務閘道器的資料需求
- 6-6 API實體物件建立
- 6-7 分析API所需介面
- 6-8 設計API介面
- 6-9 Cinema模組資料層生成以及邏輯層構建
- 6-10 Cinema模組實現 - 影院列表查詢實現
- 6-11 Cinema模組實現 - 查詢條件列表實現
- 6-12 Cinema模組實現 - 根據編號查詢影院資訊實現
- 6-13 Cinema模組實現 - 查詢某影院下所有電影和場次
- 6-14 Cinema模組實現 - 查詢特定場次相關資訊
- 6-15 Cinema模組實現 - 查詢特定場次的影片資訊
- 6-16 Cinema閘道器實現 - 獲取影院列表
- 6-17 cinema閘道器實現 - 獲取影院查詢條件
- 6-18 Cinema閘道器實現 - 獲取所有上映場次資訊
- 6-19 Cinema閘道器實現 - 獲取特定場次資訊
- 6-20 Cinema模組測試以及全域性異常處理
- 6-21 Dubbo特性之結果快取
- 6-22 Dubbo特性之併發與連線控制
- 6-23 Spring環境演示
- 6-24 Springboot環境演示
-
第7章 Dubbo服務開發:訂單模組開發
本章中將會講解訂單模組,作為本系統中的重中之重,這個模組的講解中也會涉及到幾個在微服務領域中比較重要的點,包括分散式事務、服務熔斷降級、分表分庫以後的應對思路和限流的實現等等相關內容。在業務實現講解的同時,本章會涉及到的Dubbo知識點主要包括:服務分組、版本控制、訪問日誌等。...
- 7-1 訂單模組介紹
- 7-2 window ftp伺服器構建
- 7-3 訂單模組環境構建
- 7-4 訂單模組服務閘道器構建
- 7-5 訂單模組介面分析
- 7-6 訂單模組API定義
- 7-7 訂單模組 - 資料層生成
- 7-8 訂單模組 - 獲取座位地址實現
- 7-9 訂單模組 - FTP工具實現
- 7-10 Springboot配置以及Springboot測試講解
- 7-11 訂單模組 - 判斷ID傳入是否正確實現
- 7-12 訂單模組 - 判斷是否已售座位
- 7-13 訂單模組 - 建立新訂單
- 7-14 訂單資訊查詢SQL開發
- 7-15 訂單資訊查詢 - 業務層實現
- 7-16 訂單模組 - 獲取所有已售座位業務實現
- 7-17 訂單模組 - 影院模組獲取已售座位業務實現及除錯
- 7-18 訂單模組 - 購票API閘道器實現
- 7-19 訂單模組 - 獲取當前使用者訂單資訊
- 7-20 訂單模組 - 購票業務測試以及相關內容修改
- 7-21 訂單模組 - 獲取訂單資訊介面測試
- 7-22 訂單業務之後的問題總結
- 7-23 分庫分表業務介紹
- 7-24 Dubbo特性之分組
- 7-25 Dubbo特性之分組聚合
- 7-26 Dubbo特性之版本控制
- 7-27 業務改造 - 分組合並
- 7-28 分組合並結果測試
- 7-29 限流演算法介紹
- 7-30 限流演算法整合業務系統
- 7-31 熔斷器Hystrix流程介紹
- 7-32 熔斷器效果演示
- 7-33 解決熔斷器下使用者無法獲取問題
- 7-34 訂單模組總結
-
第8章 Dubbo服務開發:支付模組開發
本章將帶領大家實現對接支付寶的SDK,並且使用其沙箱環境完成整套支付動作。同時我們會引入一些與支付業務相關的幾個Dubbo特性,比如隱式引數、引數驗證和本地偽裝,為支付業務保駕護航
- 8-1 支付業務介紹
- 8-2 當面付例項工程構建
- 8-3 當面付功能演示
- 8-4 支付模組構建
- 8-5 支付模組閘道器與API設計
- 8-6 訂單模組適配改造
- 8-7 支付模組實現 - 獲取二維碼地址
- 8-8 支付模組實現 - 查詢訂單支付狀態
- 8-9 支付模組 - 服務閘道器實現
- 8-10 支付模組 - 全流程測試
- 8-11 二維碼上傳FTP實現
- 8-12 Dubbo特性之本地存根介紹
- 8-13 本地存根演示和使用場景介紹
- 8-14 Dubbo特性之本地偽裝介紹
- 8-15 本地偽裝演示
- 8-16 本地偽裝結合業務實現以及注意事項
- 8-17 隱式引數傳遞講解與實現
- 8-18 課程總結
-
第9章 分散式事務
微服務的冪等性是微服務的核心之一,本章中將主要講解分散式事務的產生原因、解決方案;同時會引入柔性補償性事務和傳統事務的解決方案。最後,我們會引入兩種業務場景,分別講解補償式事務與兩段式事務提交之間的優劣勢和選擇的前提。...
- 9-1 章節介紹
- 9-2 事務簡介
- 9-3 分散式事務介紹
- 9-4 分散式事務實現思路介紹
- 9-5 兩段式和三段式事務介紹
- 9-6 基於XA的分散式事務介紹
- 9-7 基於訊息的最終一致性方案介紹
- 9-8 TCC柔性補償式事務
- 9-9 兩種分散式事務優劣勢比較
- 9-10 主流分散式事務框架介紹
- 9-11 TCC-Transaction環境構建
- 9-12 HTTP案例部署展示
- 9-13 Dubbo案例部署展示
- 9-14 子事務紅包模組解讀
- 9-15 主事務訂單模組解讀
- 9-16 StringBoot環境準備
- 9-17 基礎環境配置詳解
- 9-18 流程演示以及jar包調整
- 9-19 訂單業務模擬分散式事務
- 9-20 訂單業務結果展示
- 9-21 TCC框架現象帶來的一些思考
- 9-22 TCC框架事務儲存器解析
- 9-23 Compensable攔截器講解(上)
- 9-24 Compensable攔截器講解(下)
- 9-25 Resource攔截器講解
- 9-26 事務job講解
- 9-27 分散式事務章節總結
-
第10章 服務監控
Dubbo的服務鏈路監控是服務架構裡比較重要的地方之一,同時也是面試裡經常會被問到的點,在這裡將會引入zipkin+brave的形式解決全鏈路監控的問題
- 10-1 章節導讀
- 10-2 Dubbo Monitor介紹
- 10-3 Dubbo-Monitor演示
- 10-4 Dubbo-admin介紹
- 10-5 Dubbo-admin安裝部署
- 10-6 Dubbo-admin演示01
- 10-7 Dubbo-admin演示02
- 10-8 Dubbo-admin演示03
- 10-9 Dubbo-admin演示04
- 10-10 鏈路監控介紹
- 10-11 Dubbo特性之Filter介紹
- 10-12 Spring環境演示Filter
- 10-13 Springboot環境演示Filter
- 10-14 Zipkin Spring環境演示
- 10-15 業務系統整合Zipkin 01
- 10-16 業務系統整合Zipkin02
- 10-17 執行環境介紹
- 10-18 本地虛擬機器安裝
- 10-19 阿里雲申請ECS伺服器
- 10-20 阿里雲域名註冊
- 10-21 虛擬機器初始化以及MySQL安裝01
- 10-22 MySQL安裝02
- 10-23 遠端命令列工具安裝與使用
- 10-24 VSFtp安裝部署
- 10-25 JDK和Zookeeper安裝
- 10-26 資料初始化與工程打包
- 10-27 微服務獨立執行
- 10-28 Openresty安裝部署
- 10-29 Openresty反向代理配置
-
第11章 微服務面試總結
講師本人使用微服務已經很多年,在本章會總結和梳理市面上經常會遇到的Dubbo相關的微服務問題,尤其是架構設計層面上的問題,為大家的順利求職保駕護航。
下載地址: