Spring Cloud實戰演練

李熠

  • 出版商: 人民郵電
  • 出版日期: 2019-09-01
  • 售價: $414
  • 貴賓價: 9.5$393
  • 語言: 簡體中文
  • ISBN: 7115519986
  • ISBN-13: 9787115519986
  • 相關分類: Java 相關技術

立即出貨

商品描述

本書是Spring Cloud的入門書。首先,簡要概述了微服務並分析了當前因特網架構趨勢。其次,系統地介紹了Spring Boot的相關知識,從基礎用法到核心組件。再次,從具體的案例出發,依次講解了Spring Cloud最常用的組件,將理論與實踐相結合,使讀者在學習Spring Cloud的過程中還能瞭解一個產品從無到有的全過程。最後,結合目前最流行的容器技術,介紹了Kubernetes如何配合Docker進行系統的分佈式部署。

本書適合具有一定Java基礎和Spring MVC基礎的人群以及希望往架構師方向發展的開發者閱讀。

作者簡介

李熠,全棧工程師,畢業於成都電子科技大學計算機科學與技術專業,擁有7年互聯網軟件開發、技術架構和管理等方面的經驗,對Spring Boot、Spring Cloud、微服務、持續集成有一定見地。曾任映潮科技系統架構師、鏈一科技CTO,現就職於中國石油規劃總院。
熱愛技術,喜歡鑽研,特別喜歡挑戰技術難題,CSDN博客(https://blog.csdn.net /lynnlovemin)專家、GitChat專欄作者,並在GitHub上開源了多個項目(詳見https://github .com/lynnlovemin)。技術全面,對Vue.js、React.js等比較熟悉,擅長Java、JavaScript、Linux服務器,可獨立實現一套涵蓋前後端的系統。

目錄大綱

第一部分基礎篇


第1章微服務概述\t2


1.1應用架構概述\t2


1.1.1單體架構\t2


1.1.2微服務架構\t3


1.1.3如何選擇架構風格\t4


1.2微服務現狀及發展趨勢\t4


1.2.1微服務現狀\t4


1.2.2微服務發展趨勢\t5


1.3微服務架構面臨的挑戰\t5


1.4怎樣實現微服務架構\t6


1.4.1技術選型\t6


1.4.2整體架構思路\t7


1.5小結\t7


第2章Spring Boot基礎\t9


2.1 Spring Boot簡介\t9


2.2第一個Spring Boot工程\t9


2.3使用YAML文件配置屬性\t12


2.3.1 YAML的基本用法\t12


2.3.2多環境配置\t13


2.4常用註解\t14


2.4.1 @SpringBootApplication\t15


2.4.2 @SpringBootConfiguration\t15


2.4.3 @Bean\t16


2.4.4 @Value\t18

2.5 Spring Boot集成模板引擎\t19


2.6更改默認的JSON轉換器\t21


2.7打包發佈到服務器上\t22


2.7.1使用內置Tomcat發布jar包\t22


2.7.2打包成war包發布\t24


2.8 WebFlux快速入門\t27


2.9小結\t29


第3章Spring Boot核心原理\t31


3.1起步依賴機制\t31


3.2自動配置管理\t32


3.3 Actuator監控管理\t34


3.4 Spring Boot CLI命令行工具\t36


3.4.1安裝\t36


3.4.2用法\t37


3.5小結\t38


第4章Spring Cloud概述\t40


4.1簡介\t40


4.2優缺點\t41


4.3現狀\t41


4.4開始Spring Cloud實戰\t42


4.4.1技術儲備\t42


4.4.2準備工作\t42


4.4.3從Hello World開始你的實戰


之旅\t43


4.5小結\t52


第二部分實戰篇


第5章項目準備階段\t54


5.1項目介紹\t54


5.2需求分析\t54


5.3產品設計\t55


5.4架構方案分析\t58


5.4.1技術選型\t58


5.4.2架構圖設計\t58


5.4.3根據架構圖創建工程\t59


5.5數據庫結構設計\t62


5.6小結\t63


第6章公共模塊封裝\t65


6.1 common工程常用類庫的封裝\t65


6.1.1日期時間的處理\t65


6.1.2字符串的處理\t68


6.1.3加密/解密封裝\t69


6.1.4消息隊列的封裝\t74


6.2接口版本管理\t78


6.3輸入參數的合法性校驗\t80


6.4異常的統一處理\t82


6.5更換JSON轉換器\t83


6.6 Redis的封裝\t84


6.7小結\t85


第7章註冊中心: Spring Cloud


Netflix Eureka\t87


7.1 Eureka簡介\t87


7.2創建註冊中心\t87


7.3創建客戶端工程以驗證註冊中心\t91


7.4實現註冊中心的高可用\t92


7.5添加用戶認證\t96


7.6開啟自我保護模式\t99


7.7註冊中心的健康檢查\t100


7.8多網卡環境下的IP選擇問題\t101


7.9小結\t103


第8章配置中心:Spring Cloud


Config\t105


8.1 Spring Cloud Config簡介\t105


8.2創建配置中心\t105


8.3對配置內容進行加密\t111


8.3.1安裝JCE\t111


8.3.2對稱加密\t112


8.3.3對配置內容加密\t114


8.3.4非對稱加密\t114


8.4配置自動刷新\ t118


8.4.1使用refresh端點刷新配置\t118


8.4.2 Spring Cloud Bus自動刷新配置\t119


8.5添加用戶認證\t122


8.6小結\t123


第9章服務網關:Spring Cloud


Gateway\t125


9.1 Gateway簡介\t125


9.2創建服務網關\t125


9.3利用過濾器攔截API請求\t128


9.4請求失敗處理\t130


9.5小結\t133


第10章功能開發\t135


10.1開發前的準備\t135


10.1.1 MyBatis的集成\t135


10.1.2 Elasticsearch的集成\t137


10.2利用代碼生成器提升開發效率\t140


10.3使用代碼生成器生成的代碼操作


數據庫\t147


10.4 MyBatis應對複雜SQL\t149


10.4.1註解\t149


10.4.2 Provider\t150


10.5功能開發\t151


10.6網關鑑權\t154


10.6.1防止參數被篡改\t155


10.6.2攔截非法請求\t157


10.7單元測試\t159


10.8小結\t160


第三部分高級篇


第11章服務間通信:Spring Cloud


Netflix Ribbon和Spring


Cloud OpenFeign\t162


11.1 Spring Cloud Netflix Ribbon的使用\t162


11.2 Spring Cloud OpenFeign\t164


11.3自定義OpenFeign配置\t166


11.4 Spring Cloud OpenFeign熔斷\t167


11.4.1 Spring Cloud Netflix Hystrix


簡介\t167


11.4.2 Spring Cloud Netflix Hystrix


的使用\t168


11.4.3 OpenFeign集成Hystrix


熔斷器\t172


11.5小結\t173


第12章服務鏈路追踪:Spring


Cloud Sleuth\t175


12.1 Spring Cloud Sleuth簡介\t175


12.2利用鏈路追踪監聽網絡請求\t176


12.2.1服務端的實現\t176


12.2.2客戶端集成Spring Cloud


Sleuth\t179


12.3通過消息中間件實現鏈路追踪\ t180


12.4存儲追踪數據\t182


12.5小結\t184


第13章服務治理:Spring Cloud


Consul和Spring Cloud


ZooKeeper\t186


13.1服務治理簡介\t186


13.2 Spring Cloud Consul的使用\t186


13.2.1 Consul的安裝與部署\t187


13.2.2 Spring Cloud集成Consul\t189


13.3 Spring Cloud ZooKeeper的使用\t190


13.3.1 ZooKeeper的安裝和部署\t191


13.3.2 Spring Cloud集成ZooKeeper\t191


13.4小結\t193


第四部分部署篇


第14章系統發布上線\t195


14.1發布前準備\t195


14.1.1虛擬機的安裝\t195


14.1.2 Linux常用命令\t198


14.1.3安裝常用軟件\t198


14.2編譯、打包、發布\t207


14.3利用Jenkins實現持續集成\t210


14.3.1安裝並配置Jenkins\t210


14.3.2創建任務\t215


14.3.3構建項目\t220


14.4小結\t221


第15章使用Kubernetes部署分佈式


集群\t223


15.1 Docker介紹\t223


15.1.1 Docker安裝\t223


15.1.2 Docker鏡像\t224


15.1. 3 Docker容器\t228


15.2 K8S集群環境搭建\t229


15.2.1環境準備\t229


15.2.2集群搭建\t230


15.2.3分佈式應用部署\t232


15.3小結\t237


附錄A如何編寫優雅的Java代碼\t239


附錄B IDEA插件之Alibaba Cloud


Toolkit\t258