終於有大牛把Spring微服務架構設計第2版文檔給整理完畢了 前言 目錄 主要內容講解 讀者對象

前言

微服務是一種架構風格和模式:將複雜系統拆解爲協同工作的小型服務,以此構建大型業務服務。微服務是自治、自包含且可獨立部署的服務。當今世界上的許多企業將微服務作爲默認的架構標準來構建面向服務的大型企業級應用。

作爲一種編程框架,Spring框架在開發者社區流行很多年了。使用SpringBoot不再需要重量級應用容器,並且它還支持部署輕量級無服務器應用。

Spring Cloud結合了Netflix的許多OSS開源組件,提供了一個運行和管理大型微服務架構的生態系統;還支持負載均衡、服務註冊、服務監控和服務網關,等等。

然而,微服務也帶來了一些挑戰,例如服務的監控、管理、分發、擴容和發現等,尤其是當大規模部署微服務時。如果在採用微服務架構之前不解決這些常見的問題,通常會導致災難性的後果。

本文旨在構建一個與技術細節無關的微服務能力模型,該模型有助於應對各種常見的微服務挑戰。

本文提供了實現大型響應式微服務的實用方法和指導原則,並通過示例全面講解如何構建微服務。本文深入介紹了Spring Boot、Spring Cloud、Docker、Mesos和Marathon,還會教授如何用Spring Boot部署自治服務,而無須使用重量級應用服務器,並介紹Spring Cloud框架的各項能力、如何使用Docker實現容器化,以及如何使用Mesos和Marathon抽象出計算資源和控制整個集羣。

本文帶你掌握響應式微服務設計原則,輕鬆構建大規模、可擴展的互聯網級微服務。

因爲文章內容實在是太多了,沒法全部給大家展示出來,所以只能給大家展示部分內容,每個小節都有更加細化的內容!

目錄

主要內容講解

第1章微服務揭祕;本章將詳細介紹從傳統的單體架構到微服務架構的演進過程,還會介紹微服務的定義、概念和特性。

本章主要內容如下。

微服務的演進。

微服務架構的定義及相關示例。

微服務架構的概念和特性。

第2章相關架構風格和用例;本章會分析其他架構風格,並探究微服務和其他熱詞之間的相似性和關聯性。這些熱詞包括面向服務架構(SOA)、十二要素應用、無服務器計算、Lambda架構、DevOps、雲計算、容器和響應式微服務。十二要素應用定義了面向雲計算應用開發的一系列軟件工程原則。本章還會分析微服務的典型用例,並介紹用於快速開發微服務架構的一些流行框架。

本章主要內容如下。

微服務架構與SOA和十二要素應用的關係。

微服務架構與無服務器計算和Lambda架構風格(通常用於大數據、認知計算和物聯網環境中)之間的關聯。

微服務的支撐性架構元素,例如雲計算、容器和DevOps。

響應式微服務。

微服務架構的典型用例。

一些流行的微服務框架。

第3章用Spring Boot構建微服務;本章着重代碼示例,從微服務理論轉向具體實踐。首先介紹Spring Boot框架,然後討論如何用Spring Boot構建與前一章講過的原則和特徵相一致的RESTful微服務,最後介紹Spring Boot爲開發生產就緒的微服務提供的一些特性。

本章主要內容如下。

搭建最新的Spring開發環境。

利用Spring Framework 5和Spring Boot開發RESTful服務。

利用Spring WebFlux和Spring Messaging構建響應式微服務。

利用Spring Security和OAuth2保護微服務。

實現跨域微服務。

利用Swagger生成Spring Boot微服務API文檔。

利用Spring Boot Actuator開發生產就緒的微服務。

第4章應用微服務概念;本章會研究在實際項目中實現微服務的一些技術挑戰,並提供一些準則來指導關鍵的設計決策,確保成功開發微服務應用,還會介紹一些解決方案和設計模式來消除針對微服務的一系列常見顧慮。

本章主要內容如下。

不同設計決策之間的權衡取捨。

開發微服務時應當考慮的設計模式。

設計一流的可擴展微服務的通用指南。

第5章微服務能力模型;本章主要內容如下。

微服務生態系統的能力模型。

每種能力的簡介及其在微服務生態系統中的重要性。

支撐這些能力的可選工具和技術。

微服務成熟度模型。

第6章微服務演進案例研究;本章會引入一個虛構的廉價航空公司BrownField Airline(BF),探究如何將其從一個單體式客運銷售和服務(PSS)應用向下一代微服務架構演進。本章會深入研究PSS應用,並在遵循上一章介紹的設計原則和實踐方法的基礎上,解釋該應用從一個單體系統向一個基於微服務的架構遷移的挑戰、方法和演進步驟。

該案例研究旨在還原真實場景,從而明確相關架構概念。

本章主要內容如下。

以BrownField航空公司的PSS應用爲例,研究從單體系統遷移到基於微服務系統的真實案例。

單體應用遷移到微服務的各種途徑和遷移策略。

用Spring框架的組件設計一個全新的現代微服務系統來替代PSS應用。

使用Spring框架和Spring Boot實現微服務。

第7章用Spring Cloud組件擴展微服務;本章會詳細介紹Spring Cloud項目中的各種組件,比如Eureka、Zuul、Ribbon和Spring Config,並將這些組件放置在第4章介紹的微服務能力模型的相應位置。本章會演示如何使用Spring Cloud組件對前一章開發的BrownField航空公司的PSS微服務系統進行擴展。

本章主要內容如下。

用Spring Cloud Config服務器將配置信息外部化。

用Eureka服務器實現服務的註冊和發現。

講解Zuul作爲服務代理和網關的重要性。

實現微服務的自動註冊和自動發現。

用Spring Cloud消息機制實現異步響應式微服務編排。

第8章微服務的日誌管理和監控;本章會探討日誌管理和監控在微服務部署中的必要性和重要性,還會進一步研究用一系列候選架構和技術來解決日誌和監控問題時面臨的各種挑戰及解決辦法。

本章主要內容如下。

日誌管理的不同方案、工具和技術。

使用Spring Cloud Sleuth追蹤微服務。

端到端監控微服務的不同工具。

使用Spring Cloud Hystrix和Turbine進行鏈路監控。

使用數據湖進行業務數據分析。

第9章用Docker容器化微服務;本章介紹虛擬機鏡像和微服務容器化部署的概念和兩者之間的關聯,然後介紹如何爲BrownField航空公司PSS微服務系統構建Docker鏡像,這些微服務都是用Spring Boot和Spring Cloud開發的,最後介紹如何在類生產環境中管理、維護和部署Docker鏡像。

本章主要內容如下。

容器化的概念及其和微服務上下文的關係。

將微服務構建並部署爲Docker鏡像和容器。

以AWS爲例展示基於雲的Docker部署。

第10章用Mesos和Marathon擴展容器化的微服務;本章會介紹基本的擴容方法和在部署大規模微服務時使用Mesos和Marathon作爲基礎設施編排層對於雲環境中優化資源利用的必要性,還會詳細介紹在雲環境中安裝Mesos和Marathon的方法,最後會演示如何在Mesos和Marathon環境中管理Docker化的微服務。

本章主要內容如下。

對容器化的Spring Boot微服務進行擴容的可選方案。

基礎設施抽象層和容器編排軟件的必要性。

從微服務的上下文中理解Mesos和Marathon。

用Mesos和Marathon管理BrownField航空公司Docker化的PSS微服務。

第11章微服務開發生命週期;類似於軟件開發生命週期,若想成功實現微服務架構,需要理解微服務開發生命週期。

本章以BrownField航空公司的PSS微服務爲例,着重介紹微服務的開發流程和實踐。此外,本章會闡述組建開發團隊的最佳實踐、開發方法論、自動化測試、微服務持續交付,這些都和DevOps實踐相一致,最後會闡明微服務分佈式治理方法中參考架構的重要性。

本章主要內容如下。

研究微服務開發中的一些實踐要點。

互聯網級微服務在自動化開發、測試和部署方面的最佳實踐。

這份【Spring微服務架構設計(第2版)】文檔共有443頁,需要完整版的小夥伴,可以轉發此文關注小編後,點擊此處來獲取!!

讀者對象

本文適合想了解如何使用Spring框架、Spring Boot和Spring Cloud設計強大的互聯網級微服務,以及如何用Docker、Mesos和Marathon來管理這些微服務的架構師。微服務能力模型有助於架構師運用各種工具和技術來設計微服務解決方案。

本文適合正在考慮開發雲就緒的互聯網級應用來滿足當今業務需求的Spring開發人員。文中通過研究一系列真實用例和實操性的代碼實例,揭示了微服務的實質及其在當今世界中的重要性。

本文將指導開發人員構建簡單的RESTful服務,並將其有條不紊地改造成真正的企業級微服務生態系統。

希望大家能夠把文中的技術知識牢牢記在自己的腦海之中,並且能夠動手來實踐,讀與寫相互配合,不斷地提升自己,讓自己的技術變得更有深度和廣度,也希望本文能夠得到大家的喜歡!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章