微服務之架構技術選型與設計

JAVA架構發表於2019-06-20

本文主要介紹了架構技術選型與設計-微服務選型,Spring cloud 實現採用的技術,希望對您的學習有所幫助。

架構技術選型與設計-DUBBODubbo,是阿里巴巴服務化治理的核心框架,並被廣泛應用於阿里巴巴集團的各成員站點(阿里巴巴現在使用架構為HSF)。 於2012-10-24最後版本2.5.3成為最後一版本,由噹噹接手維護,命名為dubbox;2017年突然繼續dubbo進行維護,最後更新版本時間為 2017-10-11 22:21

微服務之架構技術選型與設計

Dubbo 核心部件:Provider: 暴露服務的提供方。Consumer:呼叫遠端服務的服務消費方。Registry: 服務註冊中心和發現中心。Monitor: 統計服務和呼叫次數,呼叫時間監控中心。(dubbo的控制檯頁面中可以顯示)Container:服務執行的容器。Dubbo服務叢集-叢集容錯模式

微服務之架構技術選型與設計

架構技術選型與設計-微服務選型

微服務之架構技術選型與設計

架構技術選型與設計-DUBBO

微服務之架構技術選型與設計

架構技術選型與設計-DUBBO

微服務之架構技術選型與設計

架構技術選型與設計-微服務選型Spring Cloud,從命名我們就可以知道,它是Spring Source的產物,Spring社群的強大背書可以說是Java企業界最有影響力的組織了,除了Spring Source之外,還有Pivotal和Netfix是其強大的後盾與技術輸出。其中Netflix開源的整套微服務架構套件是Spring Cloud的核心。如果拿Dubbo與Netflix套件做對比,前者在國內影響力較大,後者在國外影響力較大,在背景上可以打個平手;但是若要與Spring Cloud做對比,由於Spring Source的加入,在背書上,Spring Cloud略勝一籌,但是在高併發上dubbo曾經在阿里的運營中實際承載過過億使用者同時線上的,而Netflix 並沒有實際的上線應用中體現過。Spring Cloud下面有19個子專案(可能還會新增)分別覆蓋了微服務架構下的方方面面,服務治理只是其中的一個方面,一定程度來說,Dubbo只是Spring Cloud Netflix中的一個子集。但是在選擇框架上,方案完整度恰恰是一個需要重點關注的內容,當然從高可用和高併發一起考慮,Spring Cloud 無疑是最佳選擇。

Spring Cloud 工具框架

1、Spring Cloud Config 配置中心,利用git集中管理程式的配置。

2、Spring Cloud Netflix 整合眾多Netflix的開源軟體

3、Spring Cloud Bus 訊息匯流排,利用分散式訊息將服務和服務例項連線在一起,用於在一個叢集中傳播狀態的變化

4、Spring Cloud for Cloud Foundry 利用Pivotal Cloudfoundry整合你的應用程式

5、Spring Cloud Cloud Foundry Service Broker 為建立管理雲託管服務的服務代理提供了一個起點。

6、Spring Cloud Cluster 基於Zookeeper, Redis, Hazelcast, Consul實現的領導選舉和平民狀態模式的抽象和實現。

7、Spring Cloud Consul 基於Hashicorp Consul實現的服務發現和配置管理。

8、Spring Cloud Security 在Zuul代理中為OAuth2 rest客戶端和認證頭轉發提供負載均衡

9、Spring Cloud Sleuth SpringCloud應用的分散式追蹤系統,和Zipkin,HTrace,ELK相容。

10、Spring Cloud Data Flow 一個雲本地程式和操作模型,組成資料微服務在一個結構化的平臺上。

11、Spring Cloud Stream 基於Redis,Rabbit,Kafka實現的訊息微服務,簡單宣告模型用以在Spring Cloud應用中收發訊息。

12、Spring Cloud Stream App Starters 基於Spring Boot為外部系統提供spring的整合

13、Spring Cloud Task 短生命週期的微服務,為SpringBooot應用簡單宣告新增功能和非功能特性。

14、Spring Cloud Task App Starters

15、Spring Cloud Zookeeper 服務發現和配置管理基於Apache Zookeeper。

16、Spring Cloud for Amazon Web Services 快速和亞馬遜網路服務整合。

17、Spring Cloud Connectors 便於PaaS應用在各種平臺上連線到後端像資料庫和訊息經紀服務。

18、Spring Cloud Starters (專案已經終止並且在Angel.SR2後的版本和其他專案合併

)19、Spring Cloud CLI 外掛用Groovy快速的建立Spring Cloud元件應用。Spring Cloud共整合了19個子專案,裡面都包含一個或者多個第三方的元件或者框架!

Spring cloud 實現採用的技術

1、spring cloud : 一個雲應用工具,為雲應用開發的配置管理、服務發現、斷路器、智慧路由、微代理、控制匯流排、全域性鎖定、決策競選、分散式會話和叢集狀態管理等操作

2、spring cloud config :配置管理開發工具包

3、 spring cloud Bus :事件訊息匯流排用於叢集(例如:配置變化時間)中傳播狀態變化,與spring cloud config 聯合實現熱部署

4、 spring cloud Netflix Eureka : 雲端負載均衡基礎,一個基於Rest的服務,用於定位服務,以實現雲端的負載均衡和中間層伺服器的故障轉移

5、 spring cloud Netflix Hystrix : 容錯管理工具,旨在透過控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力

6 、 Netflix ZUUL: 邊緣服務工具,提供動態路由、監控、彈性、安全等邊緣服務

7、 spring cloud sleuth :日誌收集工具包、封裝Purpose 、Zipkin和Trace

8、 Spring Cloud Security : 安全工具包,為應用程式新增安全控制,主要是OAuth2

9、 spring cloud turbine :聚合伺服器傳送時間流,監控叢集下Netflix 和 metrics 情況

Spring cloud 規劃設計

微服務之架構技術選型與設計

微服務之架構技術選型與設計

微服務之架構技術選型與設計

Spring cloud 配置中心

微服務之架構技術選型與設計

Spring cloud 註冊中心

微服務之架構技術選型與設計

Spring cloud 閘道器: 服務路由、安全認證、會話共享、客戶端負載均衡、統一異常處理、跨域請求

微服務之架構技術選型與設計

Spring cloud 斷路由

微服務之架構技術選型與設計

微服務之架構技術選型與設計


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912582/viewspace-2648282/,如需轉載,請註明出處,否則將追究法律責任。

相關文章