第1章 微服務概述
1.1 什麼是微服務
1.2 為什麼微服務
1.2.1 區彆
1.2.2 從單體應用說起
1.2.3 第一步切分
1.2.4 服務化所帶來的問題
1.2.5 微服務的可擴展性
1.2.6 微服務與SOA的區彆
1.3 常見的微服務組件
1.4 常用的微服務框架
1.4.1 Spring頂級項目
1.4.2 背景
1.4.3 社區活躍度
1.4.4 架構完整度
1.4.5 總結
1.5 微服務架構設計模式
1.6 如何實施微服務
1.7 小結
第2章 微服務設計原則
2.1 設計原則之分層架構
2.2 設計原則之統一通信協議
2.3 設計原則之單一職責
2.4 設計原則之服務拆分
2.5 設計原則之前後端分離
2.6 設計原則之版本控製
2.7 設計原則之圍繞業務構建
2.8 設計原則之並發流量控製
2.9 設計原則之CAP
2.10 設計原則之EDA事件驅動
2.11 設計原則之CQRS
2.12 設計原則之基礎設施自動化
2.13 設計原則之數據一緻性
2.14 設計原則之設計模式
2.15 設計原則之DevOps
2.16 設計原則之無狀態服務
2.17 小結
第3章 微服務之Spring Boot
3.1 一切從簡單開始
3.2 快速集成第三方的Starter
3.3 降低開發復雜度之麵嚮切麵
3.3.1 前置通知
3.3.2 後置返迴通知
3.3.3 後置異常通知
3.3.4 後置最終通知
3.3.5 環繞通知
3.3.6 AOP總結
3.4 並不復雜的持久化
3.4.1 單數據源
3.4.2 多數據源
3.4.3 JOOQ
3.4.4 事務處理
3.4.5 整閤Redis
3.4.6 整閤隊列
3.4.7 操作MongoDB
3.5 Web開發
3.6 懶人的接口文檔管理
3.7 優化的調度
3.8 健康是永恒的主題
3.9 強強聯閤之整閤Dubbo
3.10 小結
第4章 微服務之Docker
4.1 Docker原理
4.2 更輕量級的虛擬化
4.3 三個概念理解Docker
4.3.1 鏡像(Image)
4.3.2 容器(Container)
4.3.3 倉庫(Repository)
4.4 Dockerfile定製一切
4.4.1 Dockerfile語法
4.4.2 Dockerfile命令
4.4.3 Dockerfile構建過程
4.4.4 構建Java環境
4.4.5 Dockerfile小結
4.5 Docker網絡
4.5.1 網絡模式
4.5.2 link
4.5.3 跨主機訪問
4.6 Docker數據捲
4.6.1 數據捲
4.6.2 數據捲容器
4.7 Spring Boot與Docker
4.8 搭建自己的鏡像倉庫
4.8.1 安裝和啓動
4.8.2 使用
4.9 Kubernetes
4.10 私有雲整體架構
4.11 小結
第5章 微服務之Spring Cloud
5.1 注冊中心
5.1.1 常用的注冊中心
5.1.2 Eureka介紹
5.1.3 服務發現
5.1.4 簡單注冊
5.2 負載均衡
5.2.1 Spring Cloud的負載實現
5.2.2 Ribbon
5.2.3 Feign
5.2.4 加入core
5.3 微服務容錯(Hystrix)
5.3.1 雪崩的形成
5.3.2 應對方案
5.3.3 降級和熔斷
5.3.4 Hystrix
5.3.5 集中監控
5.4 分布式配置中心
5.5 API網關
5.5.1 為什麼需要網關
5.5.2 Zuul
5.6 消息總綫(Spring Cloud Bus)
5.7 小結
第6章 微服務之Spring Cloud其他框架
6.1 Spring Cloud Consul
6.2 Spring Cloud ZooKeeper
6.3 Spring Cloud archaius
6.4 Spring Cloud Task
6.5 Spring Cloud Security
6.5.1 HTTP Basic Authentication
6.5.2 JWT
6.5.3 OAuth 2
6.5.4 Spring Cloud Security
6.6 Spring Cloud Sleuth
6.6.1 服務端
6.6.2 客戶端
6.7 Spring Cloud Stream
6.8 Spring Cloud Data Flow
6.9 小結
第7章 微服務之自動化測試與質量管理
7.1 微服務測試
7.2 單元測試
7.2.1 單元測試及覆蓋率評估
7.2.2 JUnit
7.2.3 Spring Boot單元測試
7.2.4 Mockito
7.3 API測試
7.3.1 Jmeter
7.3.2 壓力測試
7.4 A/B測試
7.5 冒煙和迴歸測試
7.6 靜態代碼分析
7.6.1 Checkstyle
7.6.2 FindBugs
7.6.3 PMD
7.7 SonarQube質量監控
7.7.1 為什麼使用
7.7.2 安裝和使用
7.7.3 安裝插件
7.7.4 運行流程
7.8 小結
第8章 微服務之JHipster
8.1 JHipster技術列錶
8.1.1 客戶端選項
8.1.2 服務端選項
8.1.3 部署選項
8.2 Angular簡介
8.3 快速開始JHipster
8.3.1 安裝
8.3.2 使用
8.3.3 構建單體應用
8.3.4 Entity sub-generator
8.3.5 開發和運行
8.3.6 插件安裝
8.4 目錄結構
8.5 構建微服務應用
8.5.1 注冊中心
8.5.2 創建微服務網關
8.5.3 Traefik
8.5.4 JHipster UAA
8.5.5 構建微服務應用
8.6 基礎配置
8.6.1 JHipster屬性配置
8.6.2 作為Maven項目
8.6.3 數據庫
8.6.4 DTO
8.6.5 分頁
8.6.6 文檔
8.7 小結
第9章 微服務之自動化部署
9.1 私有倉庫搭建
9.1.1 Nexus介紹
9.1.2 安裝與配置
9.1.3 在項目中使用
9.2 Ansible
9.3 持續集成
9.3.1 持續集成流程
9.3.2 Jenkins介紹與安裝
9.3.3 Maven介紹
9.3.4 Jenkins係統設置
9.3.5 集成Sonar
9.3.6 構建工程
9.3.7 配置測試
9.4 灰度發布
9.5 小結
第10章 微服務之日誌收集與監控
10.1 ELK搜集與分析
10.1.1 工作流程
10.1.2 日誌格式
10.1.3 平颱搭建
10.2 係統監控
10.2.1 監控策略和監控對象
10.2.2 進程監控
10.2.3 數據波動監控
10.2.4 常用監控命令
10.3 運維監控
10.3.1 Zabbix
10.3.2 Open-Falcon
10.4 APM監控
10.4.1 Pinpoint
10.4.2 SkyWalking
10.4.3 Zipkin
10.4.4 CAT
10.5 Pinpoint的安裝與使用
10.5.1 Pinpoint的安裝
10.5.2 Pinpoint的使用
10.5.3 Pinpoint實現郵件告警
10.6 小結
第11章 完整示例
11.1 安裝Lombok
11.2 PiggyMetrics
11.3 整體架構
11.3.1 配置Spring Cloud Config
11.3.2 授權服務
11.3.3 API網關
11.3.4 服務發現
11.3.5 負載均衡器、斷路器和HTTP客戶端
11.3.6 監控儀錶盤
11.3.7 日誌分析
11.4 安裝和運行
11.4.1 配置Maven並導入工程
11.4.2 安裝
11.4.3 使用
11.4.4 如何變成自己的項目
11.5 小結
第12章 微服務核心功能推薦
12.1 工作流引擎
12.1.1 Activiti
12.1.2 UFLO
12.2 規則引擎
12.2.1 Drools
12.2.2 URule
12.3 調度係統
12.4 消息推送
12.5 網關中間件
12.5.1 Orange
12.5.2 Kong
12.5.3 Zuul
12.6 分庫分錶中間件
12.6.1 Sharding-JDBC
12.6.2 MyCat
12.7 報錶引擎
12.8 數據處理
12.8.1 Spring Batch
12.8.2 Kettle
12.9 並發編程
12.10 分布式配置
12.10.1 Disconf
12.10.2 Apollo
12.11 CAS
12.12 WebFlux
12.13 小結
· · · · · · (
收起)