[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 和 ...