SpringCloud全家桶學習之一階段總結(一)

1、概述

  前幾篇小博客記錄了我學習SpringCloud組件的過程,並與工做中所用的Dubbo框架作了一點比較,基本組件:Eureka、Ribbon、Hystrix、Feign、Zuul、Config,固然,這些目前在工做中還不曾使用,可是做爲一名程序員,選擇了IT行業,你就永遠不能被時代落下,真所謂JS的名言:「真正的大師永遠懷揣着一顆學徒的心」,機會是給有準備的人的,因此什麼都瞭解一點,生活更多彩一些。html

  SpringCloud中文網:https://www.springcloud.cc/git

2、總結

(1)Eureka

  官網地址:https://github.com/Netflix/eureka程序員

  ①Eureka採用C-S的設計架構,分爲客戶端和服務端兩部分;服務器端,也被稱做是服務註冊中心,用於提供服務的註冊與發現;客戶端組件包含服務消費者與服務生產者。在應用程序運行時,Eureka客戶端向註冊中心註冊自身提供的服務並週期性的發送心跳來更新它的服務租約。同時也能夠從服務端查詢當前註冊的服務信息並把他們緩存到本地並週期性的刷新服務狀態。github

  ②Eureka支持高可用的配置,當集羣中有分片出現故障時,Eureka就會轉入自動保護模式,它容許分片故障期間繼續提供服務的發現和註冊,當故障分片恢復正常時,集羣中其餘分片會把他們的狀態再次同步回來。spring

  ③涉及註解:@EnableEurekaServer、@EnableEurekaClientdocker

(2)Ribbon

  官網地址:https://github.com/Netflix/ribbon緩存

  ①客戶端負載均衡安全

  ②涉及註解:@LoadBalanced、@RibbonClient(配置)服務器

(3)Feign

  官網地址:https://github.com/OpenFeign/feign架構

  ①Feign是一個聲明式的WebService客戶端,底層默認實現了Ribbon負載均衡,使用很是簡單:接口+註解

  ②涉及註解:@FeignClient("微服務名稱")  注:此註解用於接口

(4)Hystrix

  官網地址:https://github.com/Netflix/hystrix

  ①Hystrix是一個用於處理分佈式系統的延遲和容錯的開源庫,我作了服務熔斷和降級練習

  ②涉及註解:@HystrixCommad(fallback="方法名")、結合@FeignClient(fallbackFactory=xxx.class)

(5)Zuul

  官網地址:https://github.com/Netflix/zuul

  提供代理、路由、過濾三大功能

  Zuul服務最終仍是會註冊到Eureka

  ③涉及註解:@EnableZuulProxy

(6)Config

  官網地址:https://www.springcloud.cc/spring-cloud-config.html

  ①SpringCloud Config分爲服務端和客戶端

  ②SpringCloud Config爲微服務架構中的微服務提供了集中化的外部配置支持,配置服務器爲各個不一樣微服務應用的全部環境提供了一箇中心化的外部配置。

  ③涉及註解:@EnableConfigServer

3、展望

  至此、SpringCloud的基本組件:Eureka、Ribbon、Feign、Hystrix、Zuul、Config已經瞭解了,接下來i就是一些進階的,好比:

  ①SpringCloud Stream:數據流開發包

  ②SpringCloud Turbine:聚合服務器發送事件流數據的一個工具,用來監控集羣下hystrix的metrics狀況

  ③SpringCloud Task:提供雲端計劃任務管理、任務調度

  ④SpringCloud Sleuth:日誌收集工具包實現了一種分佈式追蹤解決方案,封裝了Dapper和log-based追蹤以及Zipkin和HTrace操做。

  ⑤SpringCloud Security:基於spring security的安全工具包,爲應用程序添加安全控制

以及其餘方面的學習,例如:

  ①服務部署:Kubernetes、OpenStack

  ②全鏈路追蹤:Zipkin,brave

  ③服務監控:zabbix

  ④SpringCloud CLI:基於Spring Boot CLI,能夠以命令行的方式快速創建雲組件

  ⑤全局控制:選舉leader、全局鎖、全局惟一id

  ⑥安全鑑權:Oauth二、openId connect

  ⑦自動化構建與部署:gitlab+jenkins+docker

相關文章
相關標籤/搜索