Spring Boot與Kubernetes雲原生微服務實踐-楊波-極客時間-返現優惠

wuwu發表於2019-07-09

極客時間出品的《Spring Boot與Kubernetes雲原生微服務實踐》由楊波所作,楊波是前攜程/拍拍貸技術總監,微服務技術專家。本專欄全面掌握雲原生應用的架構設計與實現。

封面圖

訂閱價格:

用我的邀請購買,還會額外返現12元。購買連結:http://gk.link/a/104j0 也可以掃描頁面 下方圖中的二維碼購買。

購買的朋友請加我微訊號 dismissmewp ,備註:返現。

1423 人已學習 · 約900分鐘,原價¥199 ,限時¥129 本課程為視訊+音訊課程。可在極客時間APP/小程式/網站上永久觀看。

《Spring Boot與Kubernetes雲原生微服務實踐》課程介紹

你好,我是架構師楊波,大家都叫我波波老師。我從 2006~2012 年,一直在 eBay 中國研發中心,從事 eBay 開放 API 平臺的研發工作,從那時候起,我就和 API/ 微服務結下了不解之緣。2012~2015 年,我在攜程擔任框架研發總監,主導微服務核心中介軟體的研發,推動了攜程微服務架構的升級改造。最近幾年,我在拍拍貸擔任基礎架構研發總監,主導了拍拍貸的微服務升級改造,同時投入了很大資源進行容器雲平臺的研發,推動雲原生技術在拍拍貸的試點和落地。

微服務和雲原生架構落地過程中有哪些難點?

微服務和雲原生架構是目前網際網路行業的技術熱點,相關資料文件很多,但是缺乏端到端的貼近生產的案例,這就使得很多技術人員,尤其是架構師,雖然學習了很多微服務理論,但是在真正落地實施微服務雲原生架構的時候,仍然會感到手足無措。所以我利用業餘時間,通過改造一個叫 Staffjoy 的開源專案,開發了一個教學版的案例專案。整個專案採用微服務架構,並且可以一鍵部署到 Kubernetes 容器雲環境。最近我和極客時間合作,基於這個案例專案開發了這門課程,我想通過實際案例專案的學習,讓你不僅能夠深入理解微服務和雲原生架構原理,同時能夠在生產實踐中真正地去落地實施微服務和雲原生架構。

這門課程的內容設計思路是怎樣的?

這是一門案例專案驅動的課程,在整個課程中,我會採用 Spring Boot 框架,手把手教你如何開發一個微服務應用,並最終部署到 Kubernetes 容器雲環境。課程涉及需求、架構設計、框架搭建、服務實現、測試、可運維架構和容器雲部署等全研發流程環節,所有環節都通過案例專案串聯起來,其中也會穿插介紹微服務和雲原生架構的原理,Spring 程式設計技術和各種工具。總之,案例專案驅動,全研發流程覆蓋,原理 + 程式設計技術 + 工具結合,是本課程的亮點。

學完這門課程你會有哪些收穫?

微服務、雲原生、SpringBoot 和 Kubernetes,是當前網際網路行業,尤其是主流網際網路公司的主流技術。學完本課程後,你將對微服務和雲原生架構有一個更全面和深入的理解,能夠在實踐中設計微服務和前後分離架構,能夠基於 Spring Boot 搭建微服務基礎框架,能夠使用 Spring Boot 開發微服務,能夠對 Spring Boot 微服務進行分類和 Mock 測試,能夠將微服務應用以一鍵部署的方式部署到本地 Kubernetes 環境,也可以一鍵部署到阿里雲 Kubernetes 環境。另外,因為本課程的案例是一個 SaaS 多租戶應用,你也能夠順便學習到 SaaS 應用的架構設計方法。最後,整個案例的大部分程式碼基於 Java/Spring,通過案例學習,你也能夠進一步提升 Java/Spring 開發技能。

特別說明

這門課程與楊波老師之前的《微服務架構實戰160講》的主要區別在於:《微服務架構實戰160講》更側重於橫向的微服務基礎平臺的搭建,對八大微服務核心元件進行了深度剖析,重點在基礎設施層。而這門課的主要內容是縱向的端到端的雲原生微服務應用的架構設計與實現,重點放在了應用層。

《Spring Boot與Kubernetes雲原生微服務實踐》講師簡介

Spring Boot與Kubernetes雲原生微服務實踐 作者 楊波

楊波,資深架構師,微服務技術專家。曾在拍拍貸擔任基礎架構研發總監,主導了拍拍貸的微服務升級改造,同時投入了很大資源進行容器雲平臺的研發,推動雲原生技術在拍拍貸的試點和落地。2012~2015年,在攜程擔任框架研發總監,主導微服務核心中介軟體的研發和 SOA 體系建設,推動了攜程微服務架構的升級改造。

更早之前,曾在 eBay 中國研發中心作為核心開發人員參與 eBay 開放 API 平臺的研發工作。楊波老師具有豐富的一線實戰經驗,多次在 InfoQ 發表技術文章,並在大型技術會議上進行分享,受到廣泛好評。

《Spring Boot  Kubernetes雲原生微服務實踐》課程目錄

第一章  課程介紹和案例需求

課程介紹

背景說明

課程目標和主要內容

課程案例需求

課程補充說明

第二章  系統架構設計和技術棧選型

為何採用微服務架構?

架構設計和技術棧選型

資料和介面模型設計:賬戶服務

資料和介面模型設計:業務服務

Dubbo、Spring Cloud 和 Kubernetes 該如何選型(上)

Dubbo、Spring Cloud 和 Kubernetes 該如何選型(中)

Dubbo、Spring Cloud 和 Kubernetes 該如何選型(下)

技術中臺到底講什麼?

第三章  服務開發框架設計和實踐

Staffjoy專案結構組織

谷歌為何採用單體倉庫(Mono-Repo) ?

微服務介面引數校驗為何重要?

如何實現統一異常處理?

DTO和DMO為什麼要互轉?

如何實現基於Feign的強型別介面?

為什麼框架層就要考慮分環境配置?

非同步處理為何要複製執行緒上下文資訊?

力你的介面新增Swagger文件

主流微服務框架概覽

第四章  可程式設計閘道器設計和實踐

閘道器和BFF是如何演化出來的(上)

閘道器和BFF是如何演、化出來的(下)

閘道器和反向代理是什麼關係?

閘道器需要分叢集部署嗎?

如何設計一個最簡閘道器?

Faraday閘道器程式碼解析(上)

Faraday閘道器程式碼解析(下)

生產級閘道器需要考慮哪些環節?

主流開源閘道器概覽

第五章  安全框架設計和實踐

安全認證架構演進:單塊階段(上)

安全認證架構演進:單塊階段(下)

安全認證架構演進:微服務階段

基於JWT令牌的安全認證架構

JWT的原理是什麼?

JWT有哪兩種主要流程?

Staffjoy安全認證架構和SSO

使用者認證程式碼剖析

服務呼叫鑑權程式碼剖析

如何設計使用者角色鑑權?

第六章  服務測試設計和實踐

Spring Boot微服務測試該如何分類?

什麼是契約驅動測試?

什麼是測試金字塔?

單元測試案例分析

整合測試案例分析

元件測試案例分析

Mock vs Spy

第七章  可運維架構設計和實踐

何謂生產就緒(Production Ready) ?

Spring Boot如何實現分環境配置?

Apollo vs Spring Cloud Config vs Kubernetes ConfigMap

如何配置本地開發測試用機密資料?

CAT vs Zipkin vs SkyWalking

結構化日誌和業務審計日誌

集中異常監控和Sentry

ELK & Prometheus & SkyWalking + Kubernetes 整合架構

第八章  服務容器化和Docker Compose部署

統一閘道器部署架構回顧

手工服務部署和測試

SkyWalking呼叫鏈監控實驗

Docker 和 Docker Compose 簡介

容器化和映象構建:Account服務案例

容器化和映象構建:MyAccountSPA應用案例

Docker Compose服務部署檔案臺晰

將Staffjoy部署到本地Docker Compose環境

第九章  雲原生架構和Kubernetes容器雲部署

到底什麼是雲原生架構?

Kubernetes背景和架構

Kubernetes有哪些基本概念?

深入理解 Service 和 Service Discovery

NodePort vs LoadBalancer vs Ingress

本地測試Kubernetes環境搭建

本地測試Kubernetes部署檔案剖析

將Staffjoy部署到本地Kubernetes環境

Kubernetes應用動態配置實驗

Kubernetes應用動態擴容實驗

生產環境Kubernetes部署檔案剖析

阿里雲Kubernetes環境建立

將Staffjoy部署到阿里雲Kubernetes環境

第十章  專案覆盤、應用和擴充套件環節

專案覆盤、應用和擴充套件環節

第十一章  附錄:Staffjoy專案原始碼解析

Account 服務

Company 服務

Mail、SMS 和 Bot 服務

Faraday閘道器服務

Who Am丨會話服務

Landing Page Web 應用

MyAccount/MyCompany SPA 應用

課程收穫

開發

  1. 掌握微服務架構和前後端分離架構設計
  2. 能夠基於Spring Boot 搭建微服務基礎框架
  3. 進一步提升 Java/Spring 微服務開發技能
  4. 掌握 Spring Boot 微服務測試和相關實踐
  5. 理解 SaaS 多租戶應用的架構和設計

運維層面

  1. 理解可運維架構理念和相關實踐
  2. 掌握服務容器化和容器雲部署相關實踐
  3. 理解雲時代的軟體工程流程和實踐

層面Spring Boot與Kubernetes雲原生微服務實踐 宣傳圖

猿人學banner宣傳圖

我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。

***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***

相關文章