日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服
Spring Cloud與Docker微服務架構實戰圖書
人氣:34

Spring Cloud與Docker微服務架構實戰

全新正版

內容簡介

作為一部幫助大家實現微服務架構落地的作品,《Spring Cloud與Docker微服務架構實戰》覆蓋了微服務理論、微服務開發框架(Spring Cloud)以及運行平臺(Docker)三大主題。全書可分為三部分,第1章對微服務架構進行了系統的介紹;第2-11章使用Spring Cloud開發框架編寫了一個“電影售票系統”;第12-14章則講解了如何將微服務應用運行在Docker之上。全書Demo驅動學習,以連貫的場景、具體的代碼示例來引導讀者學習相關知識,最終使用特定的技術棧實現微服務架構的落地。

編輯推薦

√ Spring Cloud的崛起將取代Dubbo在微服務領域大行其道

n √ 作者標簽:Spring Cloud社區發起人|布道者|微服務專家

n √ Spring Cloud可謂實現Java企業級微服務應用之極限武器

n √ Spring Cloud是Spring Boot之上更完整、全能的解決方案

作者簡介

周立,Spring Cloud中國社區聯合發起人。擁有近7年的軟件系統開發經驗,多年系統架構經驗。對Spring Cloud、微服務、持續集成、持續交付有一定見地。

n 熱愛技術交流,曾代表公司參加全球微服務架構高峰論壇、QCon等技術沙龍。擁抱開源,在GitHub與Git@OSC上開源多個項目,并獲得了開源中國的推薦,例如開源電子書《使用Spring Cloud與Docker實戰微服務》等。

n 筆者博客:itmuch.com,定期分享Spring Cloud相關博客。讀者可掃碼關注Spring Cloud 中國社區公眾號以及作者公眾號。

目錄

1 微服務架構概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

n 1.1 單體應用架構存在的問題1

n 1.2 如何解決單體應用架構存在的問題3

n 1.3 什么是微服務3

n 1.4 微服務架構的優點與挑戰5

n 1.4.1 微服務架構的優點5

n 1.4.2 微服務架構面臨的挑戰5

n 1.5 微服務設計原則6

n 1.6 如何實現微服務架構7

n 1.6.1 技術選型7

n 1.6.2 架構圖及常用組件8

n 2 微服務開發框架——Spring Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

n 2.1 Spring Cloud 簡介10

n 2.2 Spring Cloud 特點10

n 2.3 Spring Cloud 版本11

n 2.3.1 版本簡介11

n 2.3.2 子項目一覽12

n 2.3.3 Spring Cloud/Spring Boot 版本兼容性13

n 3 開始使用Spring Cloud 實戰微服務. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

n 3.1 Spring Cloud 實戰前提14

n 3.1.1 技術儲備14

n 3.1.2 工具及軟件版本15

n 3.2 服務提供者與服務消費者16

n 3.3 編寫服務提供者16

n 3.3.1 手動編寫項目17

n 3.3.2 使用Spring Initializr 快速創建Spring Boot 項目21

n 3.4 編寫服務消費者23

n 3.5 為項目整合Spring Boot Actuator 25

n 3.6 硬編碼有哪些問題27

n 4 微服務注冊與發現. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

n 4.1 服務發現簡介29

n 4.2 Eureka 簡介31

n 4.3 Eureka 原理31

n 4.4 編寫Eureka Server 33

n 4.5 將微服務注冊到Eureka Server 上35

n 4.6 Eureka Server 的高可用36

n 4.6.1 將應用注冊到Eureka Server 集群上38

n 4.7 為Eureka Server 添加用戶認證39

n 4.7.1 將微服務注冊到需認證的Eureka Server 40

n 4.8 理解Eureka 的元數據41

n 4.8.1 改造用戶微服務41

n 4.8.2 改造電影微服務41

n 4.9 Eureka Server 的REST 端點43

n 4.9.1 示例45

n 4.9.2 注銷微服務實例49

n 4.10 Eureka 的自我保護模式51

n 4.11 多網卡環境下的IP 選擇52

n 4.11.1 忽略指定名稱的網卡52

n 4.11.2 使用正則表達式,指定使用的網絡地址52

n 4.11.3 只使用站點本地地址53

n 4.11.4 手動指定IP 地址53

n 4.12 Eureka 的健康檢查53

n 5 使用Ribbon 實現客戶端側負載均衡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

n 5.1 Ribbon 簡介56

n 5.2 為服務消費者整合Ribbon 57

n 5.3 使用Java 代碼自定義Ribbon 配置60

n 5.4 使用屬性自定義Ribbon 配置63

n 5.5 脫離Eureka 使用Ribbon 64

n 6 使用Feign 實現聲明式REST 調用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

n 6.1 Feign 簡介67

n 6.2 為服務消費者整合Feign 67

n 6.3 自定義Feign 配置69

n 6.4 手動創建Feign 72

n 6.4.1 修改用戶微服務72

n 6.4.2 修改電影微服務76

n 6.5 Feign 對繼承的支持78

n 6.6 Feign 對壓縮的支持79

n 6.7 Feign 的日志80

n 6.8 使用Feign 構造多參數請求82

n 6.8.1 GET 請求多參數的URL 82

n 6.8.2 POST 請求包含多個參數83

n 7 使用Hystrix 實現微服務的容錯處理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

n 7.1 實現容錯的手段85

n 7.1.1 雪崩效應85

n 7.1.2 如何容錯86

n 7.2 使用Hystrix 實現容錯88

n 7.2.1 Hystrix 簡介88

n 7.2.2 通用方式整合Hystrix 89

n 7.2.3 Hystrix 斷路器的狀態監控與深入理解91

n 7.2.4 Hystrix 線程隔離策略與傳播上下文93

n 7.2.5 Feign 使用Hystrix 96

n 7.3 Hystrix 的監控101

n 7.3.1 Feign 項目的Hystrix 監控102

n 7.4 使用Hystrix Dashboard 可視化監控數據103

n 7.5 使用Turbine 聚合監控數據105

n 7.5.1 Turbine 簡介105

n 7.5.2 使用Turbine 監控多個微服務105

n 7.5.3 使用消息中間件收集數據108

n 8 使用Zuul 構建微服務網關. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

n 8.1 為什么要使用微服務網關113

n 8.2 Zuul 簡介115

n 8.3 編寫Zuul 微服務網關115

n 8.4 Zuul 的路由端點118

n 8.5 Zuul 的路由配置詳解119

n 8.6 Zuul 的安全與Header 122

n 8.6.1 敏感Header 的設置122

n 8.6.2 忽略Header 123

n 8.7 使用Zuul 上傳文件124

n 8.7.1 編寫文件上傳微服務124

n 8.8 Zuul 的過濾器127

n 8.8.1 過濾器類型與請求生命周期127

n 8.8.2 編寫Zuul 過濾器128

n 8.8.3 禁用Zuul 過濾器130

n 8.9 Zuul 的容錯與回退130

n 8.9.1 為Zuul 添加回退131

n 8.10 Zuul 的高可用133

n 8.10.1 Zuul 客戶端也注冊到了Eureka Server 上133

n 8.10.2 Zuul 客戶端未注冊到Eureka Server 上133

n 8.11 使用Sidecar 整合非JVM 微服務134

n 8.11.1 編寫Node.js 微服務135

n 8.11.2 編寫Sidecar 136

n 8.11.3 Sidecar 的端點138

n 8.11.4 Sidecar 與Node.js 微服務分離部署139

n 8.11.5 Sidecar 原理分析139

n 9 使用Spring Cloud Config 統一管理微服務配置. . . . . . . . . . . . . . . . . . . . . . . 142

n 9.1 為什么要統一管理微服務配置142

n 9.2 Spring Cloud Config 簡介143

n 9.3 編寫Config Server 144

n 9.3.1 Config Server 的端點145

n 9.4 編寫Config Client 147

n 9.5 Config Server 的Git 倉庫配置詳解149

n 9.6 Config Server 的健康狀況指示器152

n 9.7 配置內容的加解密153

n 9.7.1 安裝JCE 153

n 9.7.2 Config Server 的加解密端點153

n 9.7.3 對稱加密153

n 9.7.4 存儲加密的內容154

n 9.7.5 非對稱加密155

n 9.8 使用/refresh 端點手動刷新配置155

n 9.9 使用Spring Cloud Bus 自動刷新配置157

n 9.9.1 Spring Cloud Bus 簡介157

n 9.9.2 實現自動刷新158

n 9.9.3 局部刷新159

n 9.9.4 架構改進159

n 9.9.5 跟蹤總線事件160

n 9.10 Spring Cloud Config 與Eureka 配合使用161

n 9.11 Spring Cloud Config 的用戶認證162

n 9.11.1 Config Client 連接需用戶認證的Config Server 163

n 9.12 Config Server 的高可用164

n 9.12.1 Git 倉庫的高可用164

n 9.12.2 RabbitMQ 的高可用164

n 9.12.3 Config Server 自身的高可用165

n 10 使用Spring Cloud Sleuth 實現微服務跟蹤. . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

n 10.1 為什么要實現微服務跟蹤167

n 10.2 Spring Cloud Sleuth 簡介168

n 10.3 整合Spring Cloud Sleuth 170

n 10.4 Spring Cloud Sleuth 與ELK 配合使用172

n 10.5 Spring Cloud Sleuth 與Zipkin 配合使用176

n 10.5.1 Zipkin 簡介176

n 10.5.2 編寫Zipkin Server 176

n 10.5.3 微服務整合Zipkin 178

n 10.5.4 使用消息中間件收集數據181

n 10.5.5 存儲跟蹤數據183

n 11 Spring Cloud 常見問題與總結. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

n 11.1 Eureka 常見問題186

n 11.1.1 Eureka 注冊服務慢186

n 11.1.2 已停止的微服務節點注銷慢或不注銷187

n 11.1.3 如何自定義微服務的Instance ID 188

n 11.1.4 Eureka 的UNKNOWN 問題總結與解決189

n 11.2 Hystrix/Feign 整合Hystrix 后首次請求失敗190

n 11.2.1 原因分析191

n 11.2.2 解決方案191

n 11.3 Turbine 聚合的數據不完整191

n 11.3.1 解決方案192

n 11.4 Spring Cloud 各組件配置屬性193

n 11.4.1 Spring Cloud 的配置193

n 11.4.2 原生配置193

n 11.5 Spring Cloud 定位問題思路總結194

n 12 Docker 入門. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

n 12.1 Docker 簡介197

n 12.2 Docker 的架構197

n 12.3 安裝Docker 199

n 12.3.1 系統要求199

n 12.3.2 移除非官方軟件包199

n 12.3.3 設置Yum 源199

n 12.3.4 安裝Dokcer 200

n 12.3.5 卸載Docker 201

n 12.4 配置鏡像加速器201

n 12.5 Docker 常用命令202

n 12.5.1 Docker 鏡像常用命令202

n 12.5.2 Docker 容器常用命令204

n 13 將微服務運行在Docker 上. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

n 13.1 使用Dockerfile 構建Docker 鏡像209

n 13.1.1 Dockerfile 常用指令210

n 13.1.2 使用Dockerfile 構建鏡像215

n 13.2 使用Docker Registry 管理Docker 鏡像217

n 13.2.1 使用Docker Hub 管理鏡像217

n 13.2.2 使用私有倉庫管理鏡像219

n 13.3 使用Maven 插件構建Docker 鏡像220

n 13.3.1 快速入門221

n 13.3.2 插件讀取Dockerfile 進行構建222

n 13.3.3 將插件綁定在某個phase 執行223

n 13.3.4 推送鏡像224

n 13.4 常見問題與總結226

n 14 使用Docker Compose 編排微服務. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

n 14.1 Docker Compose 簡介227

n 14.2 安裝Docker Compose 227

n 14.2.1 安裝Compose 228

n 14.2.2 安裝Compose 命令補全工具228

n 14.3 Docker Compose 快速入門229

n 14.3.1 基本步驟229

n 14.3.2 入門示例229

n 14.3.3 工程、服務、容器230

n 14.4 docker-compose.yml 常用命令230

n 14.4.1 build 230

n 14.4.2 command 231

n 14.4.3 dns 231

n 14.4.4 dns_search 231

n 14.4.5 environment 231

n 14.4.6 env_file 232

n 14.4.7 expose 232

n 14.4.8 external_links 232

n 14.4.9 image 232

n 14.4.10 links 232

n 14.4.11 networks 233

n 14.4.12 network_mode 233

n 14.4.13 ports 233

n 14.4.14 volumes 233

n 14.4.15 volumes_from 234

n 14.5 docker-compose 常用命令234

n 14.5.1 build 234

n 14.5.2 help 235

n 14.5.3 kill 235

n 14.5.4 logs 235

n 14.5.5 port 235

n 14.5.6 ps 235

n 14.5.7 pull 235

n 14.5.8 rm 236

n 14.5.9 run 236

n 14.5.10 scale 236

n 14.5.11 start 236

n 14.5.12 stop 236

n 14.5.13 up 236

n 14.6 Docker Compose 網絡設置237

n 14.6.1 基本概念237

n 14.6.2 更新容器237

n 14.6.3 links 238

n 14.6.4 指定自定義網絡238

n 14.6.5 配置默認網絡239

n 14.6.6 使用已存在的網絡239

n 14.7 綜合實戰:使用Docker Comose 編排Spring Cloud 微服務240

n 14.7.1 編排Spring Cloud 微服務240

n 14.7.2 編排高可用的Eureka Server 243

n 14.7.3 編排高可用Spring Cloud 微服務集群及動態伸縮245

n 14.8 常見問題與總結247

n 后記. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

網友評論(不代表本站觀點)

免責聲明

更多出版社