SpringCloud簡介

  • 微服務介紹:

  微服務是一種架構風格,一個大型複雜的系統是由一個或多個微服務組成的,系統間的各個微服務能夠獨立部署,每一個微服務間是鬆耦合的,每一個微服務只關注於完成一件任務,每一個任務表明一個小的業務能力。java

  微服務能夠在「本身的程序」中運行,並經過「輕量級設備與HTTP型API進行溝通」。關鍵在於該服務能夠在本身的程序中運行。經過這一點咱們就能夠將服務公開與微服務架構(在現有系統中分佈一個API)區分開來。在服務公開中,許多服務均可以被內部獨立進程所限制。若是其中任何一個服務須要增長某種功能,那麼就必須縮小進程範圍。在微服務架構中,只須要在特定的某種服務中增長所需功能,而不影響總體進程。                 git

----來自百度百科github

  • 微服務中的spring-cloud

  Spring Cloud是一個相對比較新的微服務框架,2016n年推出1.0的release版本. 雖然Spring Cloud時間最短, 可是相比Dubbo等RPC框架, Spring Cloud提供的全套的分佈式系統解決方案。web

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

----來自簡書spring

  • Eureak

  Eureka是Spring Cloud Netflix微服務套件中的一部分,自己是一個基於REST的服務,能夠與Springboot構建的微服務很容易的整合起來。緩存

  Eureka包含了服務器端Eureka Server和客戶端組件Eureka Client。服務器端,也被稱做是服務註冊中心,用於提供服務的註冊與發現。服務器

  Eureka Client是一個java客戶端,用於簡化與Eureka Server的交互,客戶端同時也就別一個內置的、使用輪詢(round-robin)負載算法的負載均衡器。
在應用啓動後,將會向Eureka Server發送心跳,默認週期爲30秒,若是Eureka Server在多個心跳週期內沒有接收到某個節點的心跳,Eureka Server將會從服務註冊表中把這個服務節點移除(默認90秒)。
  Eureka Server之間經過複製的方式完成數據的同步,Eureka還提供了客戶端緩存機制,即便全部的Eureka Server都掛掉,客戶端依然能夠利用緩存中的信息消費其餘服務的API。綜上,Eureka經過心跳檢查、客戶端緩存等機制,確保了系統的高可用性、靈活性和可伸縮性。
  

1、服務生產者啓動時,向服務註冊中心註冊本身提供的服務session

2、服務消費者啓動時,在服務註冊中心訂閱本身所須要的服務架構

3、註冊中心返回服務提供者的地址信息個消費者

4、消費者從提供者中調用服務

 

  • Ribbon
    • Ribbon客戶端組件, Netflix發佈的開源項目
    • 主要功能:提供客戶端的軟件負載均衡算法,將Netflix的中間層服務鏈接在一塊兒。
    • 提供一系列完善的配置項如鏈接超時,重試等。
    • 在配置文件中列出Load Balancer後面全部的機器,Ribbon會自動的幫助你基於某種規則(如簡單輪詢,隨機鏈接等)去鏈接這些機器。咱們也很容易使用Ribbon實現自定義的負載均衡算法。簡單地說,Ribbon是一個客戶端負載均衡器。
    • 工做時分爲兩步:第一步先選擇 Eureka Server, 它優先選擇在同一個Zone且負載較少的Server;第二步再根據用戶指定的策略,在從Server取到的服務註冊列表中選擇一個地址。其中Ribbon提供了多種策略,例如輪詢、隨機、根據響應時間加權等。
  • Feign
    • 聲明式的web service客戶端,使編寫web service客戶端更容易
    • 建立接口,爲接口添加註解,便可使用Feign
    • Feign可使用Feign註解或者JAX-RS註解,還支持熱插拔的編碼器和解碼器。
    • Spring Cloud爲Feign添加了Spring MVC的註解支持,並整合了Ribbon和Eureka來爲使用Feign時提供負載均衡。
  • Hystrix
    • 熔斷器,容錯管理工具,經過熔斷機制控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。
    • 具有服務降級、服務熔斷、線程隔離、請求緩存、請求合併以及服務監控等強大功能。
    • 實現了線程隔離、斷路器等一系列的服務保護功能。

相關文章
相關標籤/搜索