1. 程式人生 > >微服務之架構技術選型與設計

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

本文主要介紹了架構技術選型與設計-微服務選型,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 斷路由

 

 

相關推薦

服務架構技術選型設計

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

服務專案架構技術

一、基於SpringCloud構建微服務電商專案 1.Eureka作為註冊中心,實現服務治理 2.管理統一服務入口管理 Zuul閘道器 3.Http協議 Fegin客戶端、 Ribbon本地負載均衡 4.Hystrix服務保護框架(熔斷、降級、隔離、限流) 5.微服務訊息匯流排S

深入淺出的學習服務架構

微服務架構到底是怎麼樣的? 服務提供者按照一定的格式的服務描述,向註冊中心註冊服務,宣告自己能夠提供哪些服務,以及服務地址是什麼,完成服務釋出。 服務消費者請求註冊中心,查詢所需要呼叫的服務地址,然後以約定的通訊協議向服務提供者發起請求,得到請求結果後再按照

大資料平臺架構技術選型場景運用

導讀:本文將大資料的工作角色分為三種類型,包括業務相關、資料科學相關和資料工程。大資料平臺偏向於工程方面,大資料平臺一般包括資料來源、資料採集、資料儲存、資料分析等方面。 講師從資料來源、資料來源結構、資料變化程度和資料規模等4個維度對資料來源進行分類,資料來源分類維度的

延遲任務排程系統—技術選型設計(上篇)

本文來自網易雲社群 延遲任務的場景是? 現有的解決方案是? 存在的問題是什麼? 希望達到的目標是? 可以實現的方案有? RabbitMQ實現 通過死信和死信路由實現 通過延遲訊息外掛來實現 Redis實現 Delay

服務系統架構的優點不足

摘要:本文來自Nginx官方部落格,是微服務系列文章的第一篇,主要探討了傳統的單體式應用的不足,以及微服務架構的優勢與挑戰。正如作者所說,微服務架構更適合用於構建複雜的應用,儘管它也有自己的不足。   這篇文章作者是Chris Richardson,他是早期基於J

SpringCloud服務架構構建B2B2C電子商務平臺-服務的註冊發現Eureka

建立服務註冊中心 在這裡,我還是採用Eureka作為服務註冊與發現的元件,至於Consul 之後會出文章詳細介紹。 2.1 首先建立一個maven主工程。 首先建立一個主Maven工程,在其pom檔案引入依賴,spring Boot版本為2.0.3.RELEASE,Spring Cloud版

Chris Richardson服務翻譯:構建服務服務架構的進程通訊

標記 pac blog ural action 客戶端 靈活 dso 不兼容 Chris Richardson 微服務系列翻譯全7篇鏈接: 微服務介紹 構建微服務之使用API網關 構建微服務之微服務架構的進程通訊(本文) 微服務架構中的服務發現 微服務之事件驅動的數據管理

企業分布式微服務架構技術分享 Spring Cloud + Spring Boot + Mybatis + shiro + RestFul + 服務

行數 進行 互聯網產品 strong 日誌管理 平臺 bootstra work oot 1. 介紹 Commonservice-system是一個大型分布式、微服務、面向企業的JavaEE體系快速研發平臺,基於模塊化、服務化、原子化、熱插拔的設計思想,使用成熟領先的無

一款成功的全球服遊戲該如何進行架構選型設計

建議 滿足 異步 family tom 擁塞 支持 印度 特點 全球服遊戲如今正在成為出海遊戲的主要考慮模式,跨國對戰、全球通服打破國界的限制,將不同地區不同語言的玩家放在一起合作/競技,成功吸引了大量玩家的關註,並逐漸成為主流的遊戲玩法。遊戲廠商們也在嘗試采用一地部署多地

服務服務生產消費

服務生產與消費Eureka 服務治理體系中有 3 個核心角色:服務註冊中心、服務提供者、服務消費者。服務注冊中心及服務提供者,在前面已做介紹。本隨筆主要介紹 Eureka 服務治理體系中的服務消費,以 Spring Cloud 服務呼叫中的Ribbon+RestTemplate 方式為主。 什麼是 Ribb

服務容器化技術---kubernetes的安裝

Kubernetes的安裝 配置叢集時注意:時間同步 環境準備 三臺機器 kube1-master:192.168.3.166 kube2-node1:192.168.3.242 kube3-node2:192.168.3.190 配置主機名(/etc/hostname) 192.168.3

Choerodon 的服務路(三):服務註冊發現

本文是 Choerodon 的微服務之路系列推文第三篇。在上一篇《Choerodon的微服務之路(二):微服務閘道器》中,介紹了Choerodon 在搭建微服務閘道器時考慮的一些問題以及兩種常見的微服務閘道器模式,並且通過程式碼介紹了Choerodon 的閘道器是如何實現的。本篇文章將介紹Choer

幾種不同的服務資料庫架構設計方案

1、總DB的架構設計 1.1、優點:   在軟體開發的初期,所有微服務的開發只需要進行一次資料庫的開發,大幅提高開發速度。單一資料庫的開發、維護都易於操作。 1.2、缺點: 開發時間耦合——例如,一個負責訂單服務的開發者需要和其他服務的開發者協調模式發生的變化,因為其他服

服務服務呼叫安全控制

轉載本文需註明出處:EAWorld,違者必究。   引言: 近年來,大多數企業IT軟體均在向微服務架構轉型,由於微服務架構採用了更細粒度的分散式拆分,對於服務呼叫安全方面的問題更復雜,更需要重視,需要整體的系統化解決方案。本文將分享普元EOS8.0版本的服務呼叫安

SpringCloud服務架構構建B2B2C電子商務平臺分析-服務消費(Ribbon)

Spring Cloud Ribbon Spring Cloud Ribbon是基於Netflix Ribbon實現的一套客戶端負載均衡的工具。它是一個基於HTTP和TCP的客戶端負載均衡器。它可以通過在客戶端中配置ribbonServerList來設定服務端列表去輪詢訪問以達到均衡負載的作用。

關於SpringCloud服務架構構建B2B2C電子商務平臺分析:服務註冊發現(Eureka、Consul)

Spring Cloud簡介 Spring Cloud是一個基於Spring Boot實現的雲應用開發工具,它為基於JVM的雲應用開發中涉及的配置管理、服務發現、斷路器、智慧路由、微代理、控制匯流排、全域性鎖、決策競選、分散式會話和叢集狀態管理等操作提供了一種簡單的開發方式。 Spring

SpringCloud服務架構構建B2B2C電子商務平臺-Eureka服務消費Feign

一、Feign簡介        Feign是一種宣告式、模板化的HTTP客戶端。這使得Web服務客戶端的寫入更加方便 要使用Feign建立一個介面並對其進行註釋。它具有可插入註釋支援,包括Feign註釋和JAX-RS註釋。Feign還支援可插拔編碼器和解碼器。Spr

關於SpringCloud服務架構構建B2B2C電子商務平臺-(五)路由閘道器(zuul)

在微服務架構中,需要幾個基礎的服務治理元件,包括服務註冊與發現、服務消費、負載均衡、斷路器、智慧路由、配置管理等,由這幾個基礎元件相互協作,共同組建了一個簡單的微服務系統。一個簡答的微服務系統如下圖:   注意:A服務和B服務是可以相互呼叫的,作圖的時候忘記了。並且配置服務也是註冊到服

SpringCloud服務架構構建B2B2C電子商務平臺-(四)斷路器(Hystrix)

在微服務架構中,根據業務來拆分成一個個的服務,服務與服務之間可以相互呼叫(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign來呼叫。為了保證其高可用,單個服務通常會叢集部署。由於網路原因或者自身的原因,服務並不能保證100%可用,如果單個服務出現問題,呼叫這