微服務框架-Spring Cloud簡介(一)

Spring Cloud是一個微服務框架,相比Dubbo等RPC框架, Spring Cloud提供的分佈式系統解決方案。 git

Spring Cloud對微服務基礎框架Netflix的多個開源組件進行了封裝,同時又實現了和雲端平臺以及和Spring Boot開發框架的集成。服務器

Spring Cloud 爲開發者提供了在分佈式系統(配置管理,服務發現,熔斷,路由,微代理,控制總線,一次性token,全居瑣,leader選舉,分佈式session,集羣狀態)中快速構建的工具,使用Spring Cloud的開發者能夠快速的啓動服務或構建應用、同時可以快速和雲平臺資源進行對接。

咱們先簡單闡述下Spring Cloud中文社區對四個基礎關鍵組件的描述:session

Spring Cloud Config配置中心架構

Spring Cloud Config就是咱們一般意義上的配置中心。Spring Cloud Config-把應用本來放在本地文件的配置抽取出來放在中心服務器,本質是配置信息從本地遷移到雲端。從而可以提供更好的管理、發佈能力。

Spring Cloud Config分服務端和客戶端,服務端負責將git(svn)中存儲的配置文件發佈成REST接口,客戶端能夠從服務端REST接口獲取配置。但客戶端並不能主動感知到配置的變化,從而主動去獲取新的配置,這須要每一個客戶端經過POST方法觸發各自的/refresh。

Spring Cloud Netflix 服務發現負載均衡

Spring Cloud Eureka提供在分佈式環境下的服務發現,服務註冊的功能。

Spring Cloud Netflix,該項目是Spring Cloud的子項目之一,主要內容是對Netflix公司一系列開源產品的包裝,它爲Spring Boot應用提供了自配置的Netflix OSS整合。

經過一些簡單的註解,開發者就能夠快速的在應用中配置一下經常使用模塊並構建龐大的分佈式系統。它主要提供的模塊包括:服務發現(Eureka),斷路器(Hystrix),智能路由(Zuul),客戶端負載均衡(Ribbon)等。

Spring cloud Hystrix 熔斷器框架

斷路器(Cricuit Breaker)是一種可以在遠程服務不可用時自動熔斷(打開開關),並在遠程服務恢復時自動恢復(閉合開關)的設施。

斷路器(Cricuit Breaker)是一種可以在遠程服務不可用時自動熔斷(打開開關),並在遠程服務恢復時自動恢復(閉合開關)的設施,Spring Cloud經過Netflix的Hystrix組件提供斷路器、資源隔離與自我修復功能。

Spring Cloud Zuul 服務網關分佈式

Spring Cloud Eureka提供在分佈式環境下的服務發現,服務註冊的功能。

Spring Cloud Netflix,該項目是Spring Cloud的子項目之一,主要內容是對Netflix公司一系列開源產品的包裝,它爲Spring Boot應用提供了自配置的Netflix OSS整合。經過一些簡單的註解,開發者就能夠快速的在應用中配置一下經常使用模塊並構建龐大的分佈式系統。它主要提供的模塊包括:服務發現(Eureka),斷路器(Hystrix),智能路有(Zuul),客戶端負載均衡(Ribbon)等。

固然Spring Cloud還有額外擴展的其它不少組件,包括了服務鏈路監控和跟蹤(很關鍵的一個功能),消息總線,數據流處理,批量任務處理等。而對於整個Spring Cloud微服務框架簡單來講,便是:

你只要劃分到你的微服務組件和模塊,並定義好須要暴露的API接口,那麼剩下的整個開發和傳統方式沒有太大的區別,你開發完成的組件集成起來就是一個分佈式可擴展的微服務環境。裏面設計到的接口發佈,服務註冊,服務調用和路由,服務監控,健康檢測和流控等都會由微服務框架來幫你完成。

正是有了成熟的微服務框架,咱們才更應該將微服務架構設計重心從技術底層轉移到組件劃分和接口設計上。微服務架構是一種趨勢,Spring Cloud提供了標準化的、全站式的技術方案,意義可能會堪比當前Servlet規範的誕生,有效推動服務端軟件系統技術水平的進步。svn

相關文章
相關標籤/搜索