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


一、概述

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

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

二、總結

(1)Eureka

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

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

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

  ③涉及注解:@EnableEurekaServer、@EnableEurekaClient

(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

三、展望

  至此、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

  ⑥安全鑒權:Oauth2、openId connect

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM