19 張圖秒懂 Spring Cloud 全家桶!

作者:三分惡

鏈接:cnblogs.com/three-fighter/p/13485459.html

本文用 19 張思維導圖描述微服務相關的概念和架構,建議收藏。包括什麼是微服務、架構演進、微服務架構、微服務解決方案、SpringCloud 概覽、Eureka、Ribbon、Feign、Hystrix、Zuul、Gateway、Config、Bus、OAuth2、Sleuth、什麼是 SpringCloud、SpringCloud 主要組件。

1、什麼是微服務

1.1、架構演進

架構的發展歷程是從單體式架構,到分佈式架構,到 SOA 架構,再到微服務架構。

圖 1:架構演進

圖 2:單體架構示意圖

圖 3:分佈式架構示意圖

圖 4:SOA 架構示意圖

1.2、微服務架構

微服務架構在某種程度上是 SOA 架構的進一步的發展。

微服務目前並沒有比較官方的定義。微服務 Microservices 之父,馬丁. 福勒,對微服務大概的概述如下:

就目前而言,對於微服務業界並沒有一個統一的、標準的定義(While there is no precise definition of this architectural style ) 。

但通常在其而言,微服務架構是一種架構模式或者說是一種架構風格,它提倡將單一應用程序劃分成一組小的服務,每個服務運行獨立的自己的進程中,服務之間互相協調、互相配合,爲用戶提供最終價值。

服務之間採用輕量級的通信機制互相溝通(通常是基於 HTTP 的 RESTful API ) 。每個服務都圍繞着具體業務進行構建,並且能夠被獨立地部署到生產環境、類生產環境等。

另外,應儘量避免統一的、集中式的服務管理機制,對具體的一個服務而言,應根據業務上下文,選擇合適的語言、工具對其進行構建,可以有一個非常輕量級的集中式管理來協調這些服務。可以使用不同的語言來編寫服務,也可以使用不同的數據存儲。

圖 5:微服務定義思維導圖

圖 6:微服務架構示意圖

1.3、微服務解決方案

目前最流行的兩種微服務解決方案是 Spring Cloud 和 Dubbo。

2、SpringCloud 概覽

2.0、什麼是 SpringCloud

Spring Cloud 作爲 Java 言的微服務框架,它依賴於 Spring Boot ,有快速開發、持續交付和容易部署等特點。Spring Cloud 的組件非常多,涉及微服務的方方面面,井在開源社區 Spring、Netflix Pivotal 兩大公司的推動下越來越完善。

Spring Cloud 是一系列組件的有機集合。

圖 7:SpringCloud 技術體系

圖 8:SpringCloud 技術體系思維導圖

2.1、SpringCloud 主要組件

2.1.1、Eureka

Netflix Eureka 是由 Netflix 開源的一款基於 REST 的服務發現組件,包括 Eureka Server 及 Eureka Client。

2.1.2、Ribbon

Ribbon Netflix 公司開源的一個負載均衡的組件。

2.1.3、Feign

Feign 是是一個聲明式的 Web Service 客戶端。

2.1.4、Hystrix

Hystrix 是 Netstflix 公司開源的一個項目,它提供了熔斷器功能,能夠阻止分佈式系統中出現聯動故障。

2.1.5、Zuul

Zuul 是由 Netflix 孵化的一個致力於 “網關 “解決方案的開源組件。

2.1.6、Gateway

Spring Cloud Gateway 是 Spring 官方基於 Spring 5.0、 Spring Boot 2.0 和 Project Reactor 等技術開發的網關, Spring Cloud Gateway 旨在爲微服務架構提供簡單、 有效且統一的 API 路由管理方式。

2.1.7、Config

Spring Cloud 中提供了分佈式配置中 Spring Cloud Config ,爲外部配置提供了客戶端和服務器端的支持。

2.1.8、 Bus

使用 Spring Cloud Bus, 可以非常容易地搭建起消息總線。

2.1.9、OAuth2

Sprin Cloud 構建的微服務系統中可以使用 Spring Cloud OAuth2 來保護微服務系統。

2.1.10、Sleuth

Spring Cloud Sleuth 是 Spring Cloud 個組件,它的主要功能是在分佈式系統中提供服務鏈路追蹤的解決方案。

本文中對架構的演進及 Spring Cloud 構建微服務的基本組件進行了概覽。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/xMvhH5opASWov6ieQ6y9gQ