微服務架構 Spring Cloud 元件

2021-09-12 05:20:54 字數 1399 閱讀 6037

[b]springcloud分布式開發五大元件:[/b]

服務發現——netflix eureka

客服端負載均衡——netflix ribbon

斷路器——netflix hystrix

服務閘道器——netflix zuul

分布式配置——spring cloud config

[b]一、eureka[/b]

由兩個元件組成:eureka伺服器和eureka客戶端

eureka client:負責將這個服務的資訊註冊到eureka server中

eureka server:註冊中心,裡面有乙個登錄檔,儲存了各個服務所在的機器和埠號

[img]

[img]

[img]

[b]二、ribbon[/b]

主要提供客戶側的軟體負載均衡演算法。

ribbon客戶端元件提供一系列完善的配置選項,比如連線超時、重試、重試演算法等。ribbon內建可插拔、可定製的負載均衡元件。下面是用到的一些負載均衡策略:

簡單輪詢負載均衡

加權響應時間負載均衡

區域感知輪詢負載均衡

隨機負載均衡

[img]

[img]

[b]三、hystrix[/b]

斷路器可以防止乙個應用程式多次試圖執行乙個操作,即很可能失敗,允許它繼續而不等待故障恢復或者浪費 cpu 週期,而它確定該故障是持久的。斷路器模式也使應用程式能夠檢測故障是否已經解決。如果問題似乎已經得到糾正​​,應用程式可以嘗試呼叫操作。

[img]

[b]四、zuul[/b]

是乙個閘道器元件。提供動態路由,監控,彈性,安全等邊緣服務的框架。

[img]

[b]五、spring cloud config[/b]

遠端配置服務,這個還是靜態的,得配合spring cloud bus實現動態的配置更新。

遠端配置是每個都必不可少的中介軟體,遠端配置的特點一般需要:多節點主備、配置化、動態修改、配置本地化快取、動態修改的實時推送等。

config允許配置檔案放在git上或者svn上,和spring boot的整合非常容易。

[img]

[b]六、總結[/b]

eureka:各個服務啟動時,eureka client都會將服務註冊到eureka server,並且eureka client還可以反過來從eureka server拉取登錄檔,從而知道其他服務在**

ribbon:服務間發起請求的時候,基於ribbon做負載均衡,從乙個服務的多台機器中選擇一台

hystrix:發起請求是通過hystrix的執行緒池來走的,不同的服務走不同的執行緒池,實現了不同服務呼叫的隔離,避免了服務雪崩的問題

zuul:如果前端、移動端要呼叫後端系統,統一從zuul閘道器進入,由zuul閘道器**請求給對應的服務

[img]

微服務與微服務架構

微服務 微服務強調的是服務的大小,它關注的是某乙個點,是具體解決某乙個問題 提供落地對應服務的乙個服務應用,狹意的看,可以看作eclipse裡面的乙個個微服務工程 或者module。例如 訂單服務 支付服務 微服務架構 馬丁.福勒 martin fowler 微服務架構介紹 微服務架構是 種架構模式...

微服務架構

一 先了解一下什麼是單體應用 就是乙個應用程式包含了所有模組功能,各模組同時部署。當然這種應用模式比較容易部署 測試,但隨著專案的加大,單體模式就會變得越來越臃腫,維護的成本逐漸變高。當乙個模組出錯,整個應用都會出現問題,擴充套件能力也會受到限制。二 什麼是微服務 是將整個應用程式分解為多個模組,各...

微服務架構

簡單來說,微服務架構風格想要開發一種由多個小服務組成的應用,每個服務執行於獨立的程序,並且採用輕量級互動,多數情況下乙個http的資源api,這些服務具備獨立業務能力並可以通過自動化部署方式獨立部署,這種風格使最小化集中管理,從而可以使用多種不同的程式語言喝資料儲存技術 james lewis 和 ...