1. 程式人生 > >應用Dubbo框架打造仿貓眼專案 理解微服務核心思想

應用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相關的微服務問題,尤其是架構設計層面上的問題,為大家的順利求職保駕護航。

下載地址:

百度網盤