第1章 微服務架構設計概述
1.1 為什么需要微服務架構
1.1.1 傳統(tǒng)應用架構的問題
1.1.2 如何解決傳統(tǒng)應用架構的問題
1.1.3 傳統(tǒng)應用架構還有哪些問題
1.2 微服務架構是什么
1.2.1 微服務架構概念
1.2.2 微服務交付流程
1.2.3 微服務開發(fā)規(guī)范
1.2.4 微服務架構模式
1.3 微服務架構有哪些特點和挑戰(zhàn)
1.3.1 微服務架構的特點
1.3.2 微服務架構的挑戰(zhàn)
1.4 如何搭建微服務架構
1.4.1 微服務架構圖
1.4.2 微服務技術選型
1.5 本章小結
第2章 微服務開發(fā)框架
2.1 Spring Boot 是什么
2.1.1 Spring Boot的由來
2.1.2 Spring Boot的特性
2.1.3 Spring Boot相關插件
2.1.4 Spring Boot的應用場景
2.2 如何使用Spring Boot框架
2.2.1 搭建Spring Boot開發(fā)框架
2.2.2 開發(fā)一個簡單的Spring Boot應用程序
2.2.3 運行Spring Boot應用程序
2.3 Spring Boot生產級特性
2.3.1 端點
2.3.2 健康檢查
2.3.3 應用基本信息
2.3.4 跨域
2.3.5 外部配置
2.3.6 遠程監(jiān)控
2.4 本章小結
第3章 微服務網關
3.1 Node.js是什么
3.1.1 Node.js快速入門
3.1.2 Node.js應用場景
3.2 如何使用Node.js
3.2.1 安裝Node.js
3.2.2 使用Node.js開發(fā) Web應用
3.2.3 使用Express框架開發(fā)Web應用
3.2.4 搭建Node.js集群環(huán)境
3.3 使用Node.js搭建微服務網關
3.3.1 什么是微服務網關
3.3.2 使用Node.js實現(xiàn)反向代理
3.4 本章小結
第4章 微服務注冊與發(fā)現(xiàn)
4.1 ZooKeeper是什么
4.1.1 ZooKeeper樹狀模型
4.1.2 ZooKeeper集群結構
4.2 如何使用ZooKeeper
4.2.1 運行ZooKeeper
4.2.2 搭建ZooKeeper集群環(huán)境
4.2.3 使用命令行客戶端連接ZooKeeper
4.2.4 使用Java客戶端連接ZooKeeper
4.2.5 使用Node.js客戶端連接ZooKeeper
4.3 實現(xiàn)服務注冊組件
4.3.1 設計服務注冊表數(shù)據(jù)結構
4.3.2 搭建應用程序框架
4.3.3 定義服務注冊表接口
4.3.4 使用ZooKeeper實現(xiàn)服務注冊
4.3.5 服務注冊模式
4.4 實現(xiàn)服務發(fā)現(xiàn)組件
4.4.1 定義服務發(fā)現(xiàn)策略
4.4.2 搭建應用程序框架
4.4.3 使用Node.js實現(xiàn)服務發(fā)現(xiàn)
4.4.4 服務發(fā)現(xiàn)優(yōu)化方案
4.4.5 服務發(fā)現(xiàn)模式
4.5 本章小結
第5章 微服務封裝
5.1 Docker是什么
5.1.1 Docker簡介
5.1.2 虛擬機與Docker對比
5.1.3 Docker的特點
5.1.4 Docker系統(tǒng)架構
5.1.5 安裝Docker
5.2 如何使用Docker
5.2.1 Docker鏡像常用操作
5.2.2 Docker容器常用操作
5.2.3 Docker命令匯總
5.3 手工制作Java鏡像
5.3.1 下載JDK
5.3.2 啟動容器
5.3.3 提交鏡像
5.3.4 驗證鏡像
5.4 使用Dockerfile構建鏡像
5.4.1 了解Dockerfile基本結構
5.4.2 使用Dockerfile構建鏡像
5.4.3 Dockerfile指令匯總
5.5 使用Docker Registry管理鏡像
5.5.1 使用Docker Hub
5.5.2 搭建Docker Registry
5.6 Spring Boot與Docker整合
5.6.1 搭建Spring Boot應用程序框架
5.6.2 為Spring Boot應用添加Dockerfile
5.6.3 使用Maven構建Docker鏡像
5.6.4 啟動Spring Boot的Docker容器
5.6.5 調整Docker容器內存限制
5.7 本章小結
第6章 微服務部署
6.1 Jenkins是什么
6.1.1 Jenkins簡介
6.1.2 自動化發(fā)布平臺
6.1.3 安裝Jenkins
6.2 搭建GitLab版本控制系統(tǒng)
6.2.1 GitLab簡介
6.2.2 安裝GitLab
6.2.3 將代碼推送至GitLab中
6.3 搭建Jenkins持續(xù)集成系統(tǒng)
6.3.1 創(chuàng)建構建任務
6.3.2 手工執(zhí)行構建
6.3.3 自動執(zhí)行構建
6.4 使用Jenkins實現(xiàn)自動化發(fā)布
6.4.1 自動發(fā)布jar包
6.4.2 自動發(fā)布Docker容器
6.5 本章小結