前言
微服務是一種架構風格和模式:將復雜系統拆解為協同作業的小型服務,以此構建大型業務服務,微服務是自治、自包含且可獨立部署的服務,當今世界上的許多企業將微服務作為默認的架構標準來構建面向服務的大型企業級應用,
作為一種編程框架,Spring框架在開發者社區流行很多年了,使用SpringBoot不再需要重量級應用容器,并且它還支持部署輕量級無服務器應用,
Spring Cloud結合了Netflix的許多OSS開源組件,提供了一個運行和管理大型微服務架構的生態系統;還支持負載均衡、服務注冊、服務監控和服務網關,等等,
然而,微服務也帶來了一些挑戰,例如服務的監控、管理、分發、擴容和發現等,尤其是當大規模部署微服務時,如果在采用微服務架構之前不解決這些常見的問題,通常會導致災難性的后果,

本文旨在構建一個與技術細節無關的微服務能力模型,該模型有助于應對各種常見的微服務挑戰,
本文提供了實作大型回應式微服務的實用方法和指導原則,并通過示例全面講解如何構建微服務,本文深入介紹了Spring Boot、Spring Cloud、Docker、Mesos和Marathon,還會教授如何用Spring Boot部署自治服務,而無須使用重量級應用服務器,并介紹Spring Cloud框架的各項能力、如何使用Docker實作容器化,以及如何使用Mesos和Marathon抽象出計算資源和控制整個集群,
本文帶你掌握回應式微服務設計原則,輕松構建大規模、可擴展的互聯網級微服務,
因為文章內容實在是太多了,沒法全部給大家展示出來,所以只能給大家展示部分內容,每個小節都有更加細化的內容,需要完整版的小伙伴,可以轉發此文關注小編后,添加下方圖中VX即可獲取

目錄

主要內容講解
第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頁,需要完整版的小伙伴,可以轉發此文關注小編后,掃碼添加下方VX即可獲取

讀者物件
本文適合想了解如何使用Spring框架、Spring Boot和Spring Cloud設計強大的互聯網級微服務,以及如何用Docker、Mesos和Marathon來管理這些微服務的架構師,微服務能力模型有助于架構師運用各種工具和技術來設計微服務解決方案,
本文適合正在考慮開發云就緒的互聯網級應用來滿足當今業務需求的Spring開發人員,文中通過研究一系列真實用例和實操性的代碼實體,揭示了微服務的實質及其在當今世界中的重要性,
本文將指導開發人員構建簡單的RESTful服務,并將其有條不紊地改造成真正的企業級微服務生態系統,
希望大家能夠把文中的技術知識牢牢記在自己的腦海之中,并且能夠動手來實踐,讀與寫相互配合,不斷地提升自己,讓自己的技術變得更有深度和廣度,也希望本文能夠得到大家的喜歡!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/203996.html
標籤:AI
