Java 微服務分佈式架構企業實戰

Java 微服務分佈式架構企業實戰

作者: 千鋒教育高教產品研發部
出版社: 清華大學
出版在: 2020-01-01
ISBN-13: 9787302541271
ISBN-10: 7302541272
裝訂格式: 平裝
總頁數: 303 頁





內容描述


《Java微服務分佈式架構企業實戰/“好程序員成長”叢書》從當下流行的微服務分佈式架構的概念出發,
詳細介紹了微服務架構中各個組件的使用,並對微服務架構開發過程中經常面臨的問題給出了相應的解決方案。
全書共13章,
從第1章開始對微服務架構進行詳細的介紹,讓讀者快速了解微服務的概念;
第2~5章,分別講解Linux操作系統、Docker容器化引擎、代碼管理平台,
以及構建微服務架構的基礎框架Spring Boot,意在為後續微服務的學習做鋪墊;
第6~9章詳細講解了使用Spring Cloud中各個組件實現微服務項目的服務註冊與發現、
客戶端負載均衡、服務容錯保護、聲明式服務調用、API網關服務、分佈式配置中心等功能,
使用通俗易懂的文字和代碼使讀者能夠快速掌握技能;
第10章和第11章分別講解了分佈式協調框架ZooKeeper和高性能Java RPC框架Dubbo;
最後,第12章和第13章介紹了敏捷開發、極限編程思想和持續集成與持續交付的基本概念。
《Java微服務分佈式架構企業實戰/“好程序員成長”叢書》面向中等和高等水平Java語言開發人員、
高等院校及培訓機構的老師和學生,是牢固掌握主流Java微服務分佈式架構技術的必讀圖書。


目錄大綱


第1章 微服務架構概述
1.1 為什麼需要微服務架構
1.1.1 傳統單體應用架構存在的問題
1.1.2 分佈式系統開發的複雜性
1.1.3 傳統架構與微服務架構的區別
1.2 使用微服務架構解決複雜問題
1.3 互聯網架構的演變
1.4 微服務架構常見的設計模式
1.4.1 聚合器微服務設計模式
1.4.2 代理微服務設計模式
1.4.3 鍊式微服務設計模式
1.4.4 分支微服務設計模式
1.4.5 數據共享微服務設計模式
1.4.6 異步消息傳遞微服務設計模式
1.5 CAP原則
1.5.1 CAP的定義
1.5.2 CAP定理的證明
1.5.3 取捨策略
1.5.4 CAP總結
1.6 本章小結
1.7 習題
第2章 Linux操作系統的使用
2.1 安裝Linux操作系統Ubuntu Server
2.1.1 安裝虛擬機VMware
2.1.2 安裝Ubuntu
2.2 Linux操作系統的基本使用
2.2.1 Linux遠程控制管理
2.2.2 Linux目錄結構
2.2.3 Linux常用命令
2.3 在Linux系統上安裝Java & Tomcat & MySQL
2.3.1 在Linux系統上安裝Java
2.3.2 在Linux系統上安裝Tomcat
2.3.3 在Linux系統上安裝MySQL
2.4 使用Linux操作系統部署應用
2.4.1 項目打包上傳
2.4.2 啟動服務
2.5 本章小結
2.6 習題
第3章 Docker容器化引擎
3.1 Docker與傳統虛擬化方式的區別
3.2 Docker容器化引擎
3.3 Docker鏡像、容器、倉庫
3.4 安裝Docker
3.4.1 安裝curl工具
3.4.2 通過腳本安裝Docker
3.4.3 配置鏡像加速器
3.4.4 Docker常用命令
3.5 Docker操作鏡像和容器
3.5.1 下載鏡像
3.5.2 運行容器
3.5.3 刪除鏡像
3.6 使用Docker Compose官方容器編排項目
3.7 Docker Compose快速部署Tomcat & MySQL
3.8 快速部署應用到容器
3.9 本章小結
3.10 習題
第4章 代碼管理平台
4.1 安裝Git
4.2 Git的基本操作
4.2.1 Git的操作流程
4.2.2 Git的常用命令
4.3 TortoiseGit簡化Git操作
4.4 基於Docker安裝GitLab
4.5 GitLab的賬戶管理
4.5.1 創建用戶
4.5.2 設置賬戶信息
4.5.3 修改用戶密碼
4.5.4 GitLab創建第一個項目
4.5.5 初始化項目
4.5.6 使用SSH的方式拉取和推送項目
4.6 使用Nexus創建私服
4.6.1 什麼是Nexus
4.6.2 基於Docker安裝Nexus
4.6.3 Maven倉庫介紹
4.6.4 在項目中使用Maven私服
4.7 安裝Docker Registry私服
4.7.1 安裝Docker Registry服務端
4.7.2 配置Docker Registry客戶端
4.7.3 部署Docker Registry WebUI
4.8 本章小結
4.9 習題
第5章 Spring Boot開發標準
5.1 Spring Boot簡介
5.2 第一個Spring Boot應用程序
5.3 Spring Boot單元測試
5.4 Spring Boot常用配置
5.5 Spring Boot整合Thymeleaf
5.6 Spring Boot整合MyBatis
5.6.1 Spring Boot整合Druid
5.6.2 Spring Boot整合tk. mybatis
5.7 本章小結
5.8 習題
第6章 Spring Cloud服務註冊與發現
6.1 Spring Cloud簡介
6.2 Netfix Eureka詳解
6.3 創建服務註冊中心
6.4 創建服務提供者
6.5 配置Eureka葛可用集群
6.6 本章小結
6.7 習題
第7章 Spring Cloud創建服務消費者
7.1 Spring Cloud創建服務消費者(Ribbon)
7.2 RestTemplate詳解
7.2.1 GET請求
7.2.2 POST請求
7.2.3 PUT請求
7.2.4 DELETE請求
7.3 負載均衡策略
7.4 創建服務消費者Ribbon
7.4.1 準備工作
7.4.2 創建服務消費者
7.5 Spring Cloud創建服務消費者Feign
7.5.1 Feign常用功能
7.5.2 創建服務消費者Feign
7.6 使用Hystrix服務容錯保護
7.6.1 熔斷器簡介
7.6.2 Ribbon中使用熔斷器
7.6.3 Feign中使用熔斷器
7.7 使用熔斷器儀錶盤監控
7.8 本章小結
7.9 習題
第8章 路由網關及分佈式配置
8.1 路由網關服務
8.2 Zuul簡介
8.3 創建網關服務
8.4 配置網關路由失敗時的回調
8.5 創建服務過濾器
8.6 分佈式配置中心服務端
8.7 分佈式配置中心客戶端
8.8 本章小結
8.9 習題
第9章 Spring Cloud服務追踪
9.1 ZipKin簡介
9.2 創建ZipKin服務端
9.3 追踪服務
9.4 Spring Boot Admin服務監控
9.4.1 Spring Boot Admin服務端
9.4.2 Spring Boot Admin客戶端
9.5 本章小結
9.6 習題
第10章 分佈式協調框架ZooKeeper
10.1 微服務架構需要解決的問題
10.2 什麼是分佈式協調技術
10.3 什麼是分佈式鎖
10.4 分佈式鎖應該具備哪些條件
10.5 通過Redis分佈式鎖的實現理解基本概念
10.6 什麼是ZooKeeper
10.7 ZooKeeper如何實現分佈式鎖
10.8 ZooKeeper分佈式鎖的原理
10.9 基於Docker安裝ZooKeeper
10.10 ZooKeeper用作註冊中心的原理
10.10.1 RPC框架
10.10.2 ZooKeeper用作註冊中心
10.10.3 Eureka和ZooKeeper的區別
10.1 l本章小結
10.12 習題
第ll章 高性能Java RPC框架Dubbo
11.1 什麼是Dubbo
11.1.1 Dubbo的服務治理
11.1.2 Dubbo的核心功能
11.1.3 Dubbo的組件角色
11.2 Dubbo Admin管理控制台
11.3 第一個Dubbo應用程序
11.4 Dubbo的負載均衡
11.5 Dubbo+Kryo實現高速序列化
11.6 Dubbo+Hystrix實現服務熔斷
11.7 Dubbo+Hystrix熔斷器儀錶盤
11.8 本章小結
11.9 習題
第12章 敏捷開發與極限編程
12.1 敏捷開發
12.2 解析極限編程
12.2.1 溝通
12.2.2 簡單
12.2.3 反饋
12.2.4 勇氣
12.3 快速搭建開發環境
12.4 本章小結
12.5 習題
第13章 持續集成與持續交付
13.1 持續集成
13.1.1 持續集成概述
13.1.2 持續集成的操作流程
13.1.3 使用GitLab持續集成
13.1.4 使用GitLab Runner Docker
13.2.1 enkins持續交付
13.2.1 基於Docker安裝Jenkins
13.2.2 配置Jenkins
13.2.3 持續交付
13.3 本章小結
13.4 習題


作者介紹


胡耀文
清華大學出版社技術編審委員會委員,連續三年獲得微軟Q球最有價值專家,5年IT教育行業經驗,現任職IT技術總監,
精通C/C++、Java、Python等技術語言,參與編寫的書籍有:《Visual C++ 2010開發權威指南》《Windows 8權威指南》
《Windows CE 7開發實戰詳解》 《微軟雲計算》 《Windows Azure開發與部署權威指南》。




相關書籍

Web Design with HTML and CSS Digital Classroom (Paperback)

作者 AGI Creative Team Jennifer Smith Jeremy Osborn

2020-01-01

Data Visualization Toolkit: Using JavaScript, Rails, and Postgres to Present Data and Geospatial Information

作者 Barrett Clark

2020-01-01

打造高速網站從網站指標開始:全方位提升使用者體驗與流量的關鍵

作者 唐心皓(Summer)

2020-01-01