Spring Cloud與Kubernetes微服務架構培訓大綱
微服務架構及概述
架構的演進史
微服務誕生背景
微服務架構的優點與挑戰
微服務的設計原則
如何拆分微服務
Spring Boot概述
Spring Boot簡介、誕生背景、特點
使用SpringInitialzr快速創建應用
編寫第一個SpringBoot應用
Spring Boot配置方式、profile、健康檢查
方向
內容安排
Spring Cloud概述
Spring Cloud簡介、核心功能、特點
Spring Cloud版本簡介及與Spring Boot的兼容性
Spring Cloud子項目與提供的能力
服務提供者與服務消費者
服務注冊與服務發現-Eureka
服務注冊與服務發現作用與原理剖析
Eureka簡介與架構剖析
編寫Eureka Server
高可用Eureka
用戶認證
元數據【重要的擴展鉤子】
RESTful API【重要的能力鉤子】
自我保護模式【重要特性】
指定網卡
健康檢查【作用、存在的坑以及總結】
方向
內容安排
客戶端側負載均衡-Ribbon
負載均衡原理剖析
Ribbon簡介
原生Ribbon API
引入Ribbon后的架構演進
編寫第一個Ribbon Client
使用代碼自定義Ribbon的配置
使用配置自定義Ribbon的配置
Eager Load
聲明式的HTTP客戶端-Feign
Feign簡介
編寫第一個Feign Client
使用代碼自定義Feign的配置
使用配置自定義Feign的配置
繼承特性
壓縮
日志
構造多參數請求
方向
內容安排
斷路器-Hystrix
淺談雪崩效應及危害
如何容錯
Hystrix簡介
整合Hystrix
Hystrix配置詳解
Feign使用Hystrix
使用FallbackFactory檢查回退原因
Feign啟用/禁用Hystrix
Hystrix監控
Hystrix Dashboard可視化監控數據
Turbine簡介
編寫Turbine Server
消息中間件模式
API Gateway-Zuul
網關的必要性
簡介
入門示例:編寫一個API Gateway
/routes端點
路由配置詳解
/filters端點
Zuul的安全與Header傳遞
文件上傳
過濾器詳解
容錯與回退
高可用Zuul
整合異構平臺-Sidecar
Debug Zuul
配置中心-SpringCloud Config
為什么要使用配置中心
Spring Cloud Config簡介
編寫ConfigServer
集成ConfigClient
Git倉庫配置詳解
配置屬性加解密
配置手動刷新
自動刷新-SpringCloud Bus
Config Server與Eureka配合使用
安全
高可用
調用鏈監控-SpringCloud Sleuth
為什么要實現調用鏈跟蹤
簡介
基本概念
入門示例:整合Sleuth
Sleuth配合ELK
Zipkin簡介
Zipkin Server編寫
Zipkin UI
微服務整合Zipkin
消息中間件模式整合Zipkin
使用Elasticsearch作為Zipkin Server的后端存儲
生成依賴關系圖
Docker入門
Docker簡介
安裝Docker
鏡像加速器
Docker常用命令
Dockerfile詳解
Dockerfile指令詳解
Dockerfile佳實踐
鏡像管理
Docker Hub
Docker Registry
第三方Docker Registry:Nexus/Habor
Docker工具
使用Maven構建Docker鏡像
可視化管理工具
Docker Compose
Compose的安裝
快速入門
docker-compose.yml常用命令
docker-compose常用命令
控制服務啟動順序
在生產環境中使用Docker Compose
使用Docker Compose伸縮應用
Kubernetes入門
安裝(minikube)
Kubernetes架構
基本組件及常用插件
Kubernetes命令詳解
Kubernetes術語及詳解
主要是根據Kuberntes官方文檔描述進行系統講解:
Pod詳解
RC
RS
Deployment
ReplicaSet
Job
Secret
Service
存儲
StatefulSet等
Kubernetes資源調度
資源分配
擴容與縮容:手動方式(kubectl scale)、HPA方式等
各種調度方式,例如親和性調度
升級和回滾 |