微服務與容器

[美] 帕敏德·辛格·科克(Parminder Singh Kocher)

  • 微服務與容器-preview-1
  • 微服務與容器-preview-2
微服務與容器-preview-1

買這商品的人也買了...

商品描述

本書是關於微服務和容器的實用指南。全書分為3部分,共13章。第一部分系統介紹微服務,包括微服務的概念、什麽類型的組織適合轉換到微服務、進程間通信、微服務的遷移與實現、將單體應用遷移到微服務等內容;第二部分講述容器,具體包括Docker容器的概念、Docker安裝、Docker接口、容器連網、容器編排、容器管理等知識點;第三部分提供一個功能完整的Helpdesk服務示例,幫助讀者學以致用,進一步掌握微服務和容器的具體應用。

本書內容豐富,既適合微服務相關從業人員和容器開發人員閱讀,也適合希望在生產環境中高效使用Docker的開發人員參考。

作者簡介

帕敏德·辛格·科克(Parminder Singh Kocher)有20 年構建企業級軟件系統的經驗,他自2005 年就在思科工作,目前是思科網絡學院平台的工程總監。他領導工程團隊開發學院下一代平台,該平台可以在超過180個國家訪問和使用。他還管理思科的管理服務(CMS)平台並作為創新佈道者領導多個軟件團隊。

目錄大綱

 

第一部分 微服務

 

第1章微服務概覽 3

1.1什麼是微服務 3

1.2模塊化架構 7

1.3微服務的其他優點 8

1.4微服務的缺點 9

 

第2章轉換到微服務 11

2.1疲勞與屬性 11

2.2組織的學習曲線 12

2.3微服務的商業案例 14

2.4成本構成 15

 

第3章進程間通信 19

3.1交互的類型 19

3.2準備編寫Web服務 20

3.3微服務的維護 21

3.4發現服務 21

3.4.1 API網關 22

3.4.2服務註冊中心 23

3.5融會貫通 23

 

第4章微服務的遷移與實現 27

4.1轉換的必要性 27

4.2使用微服務創建新應用 29

4.2.1組織的準備情況 29

4.2.2基於服務的方式 30

4.2.3進程間(服務與服務)通信 30

4.2.4技術選型 31

4.2.5實現 31

4.2.6部署 32

4.2.7運維 32

4.3將單體應用遷移到微服務 33

4.3.1微服務準則 34

4.3.2重新架構服務 36

4.4混合方式 37

 

第二部分 容器

 

第5章Docker容器 41

5.1虛擬機 41

5.2容器 44

5.3 Docker架構和組件 45

5.4 Docker的力量:一個簡單示例 48

 

第6章Docker安裝 51

6.1在Mac OS X上安裝Docker  51

6.2在Windows上安裝Docker  56

6.3在Ubuntu Linux上安裝Docker  57

 

第7章Docker接口 61

7.1關鍵Docker命令 61

7.1.1 docker search  61

7.1.2 docker pull  63

7.1.3 docker images  64

7.1.4 docker rmi  65

7.1.5 docker run  65

7.1.6 docker ps  67

7.1.7 docker logs  68

7.1.8 docker restart  72

7.1.9 docker attach  73

7.1.10 docker rm  73

7.1.11 docker inspect  75

7.1.12 docker exec  76

7.1.13 docker rename  77

7.1.14 docker cp  78

7.1.15 docker pause/unpause  79

7.1.16 docker create  80

7.1.17 docker commit  81

7.1.18 docker diff  81

7.2 Dockerfile  82

7.3 Docker Compose  86

 

第8章容器連網 89

8.1關鍵Linux概念 89

8.2互聯 90

8.3默認選項 93

8.3.1 none  94

8.3.2 host  94

8.3.3 bridge  96

8.4自定義網絡 99

8.4.1自定義網橋網絡驅動 100

8.4.2重疊網絡驅動 102

8.4.3非重疊網絡驅動和Macvlan  103

 

第9章容器編排 105

9.1 Kubernetes  105

9.1.1 kubectl  106

9.1.2主節點 106

9.1.3工作節點 108

9.1.4示例:Kubernetes集群 109

9.2 Apache Mesos和Marathon  110

9.2.1 Mesos主節點 111

9.2.2代理 111

9.2.3框架 112

9.2.4示例:Marathon框架 112

9.3 Docker Swarm  113

9.3.1節點 113

9.3.2服務 113

9.3.3任務 114

9.3.4示例:Swarm集群 114

9.4服務發現 116

9.5服務註冊中心 119

 

第10章容器管理 121

10.1監控 121

10.2日誌記錄 122

10.3指標收集 125

10.3.1 docker stats  125

10.3.2 API  126

10.3.3 cAdvisor  126

10.4集群範圍的監控工具 127

10.4.1 Heapster  127

10.4.2 Prometheus  127

 

第三部分 項目實戰——學以致用

 

第11章案例研究:單體Helpdesk應用 145

11.1 Helpdesk應用概覽 145

11.2應用架構 146

11.2.1身份驗證、攔截器和授權 147

11.2.2賬戶管理 148

11.2.3工單 151

11.2.4產品目錄 153

11.2.5預約 156

11.2.6留言板 158

11.2.7搜索 160

11.3構建應用程序 161

11.3.1搭建Eclipse  161

11.3.2構建應用 162

11.3.3部署與配置 166

11.4新需求和bug修復 168

 

第12章案例研究:遷移到微服務 171

12.1準備遷移 171

12.1.1採用微服務準則 172

12.1.2轉換小結 173

12.1.3對架構的影響 174

12.2轉換到微服務 174

12.2.1產品目錄 175

12.2.2工單 177

12.2.3搜索 178

12.3應用構建和部署 179

12.3.1代碼設置 179

12.3.2構建微服務 179

12.3.3部署與配置 180

12.4新需求與bug修復 183

 

第13章案例研究:容器化Helpdesk應用 185

13.1容器化微服務 185

13.1.1列出依賴項 185

13.1.2構建二進製文件和WAR文件 186

13.1.3創建Docker鏡像 186

13.1.4構建Docker鏡像 189

13.1.5在AWS上搭建DC/OS集群 190

13.2部署產品目錄微服務 195

13.2.1向Marathon提交一個任務 195

13.2.2檢查與擴展服務 198

13.2.3訪問微服務 200

13.3更新單體應用 201

 

結語 203

附錄A Helpdesk應用流 207

附錄B安裝Solr搜索引擎 217