你好我是辰兮,很高興你能來閱讀,本篇文章是關於SpringCloud分佈式微服務框架的學習,初識SpringCloud接下來會整理更多相關知識,分享獲取新知,大家一起進步。
1.JAVA基礎面試常考問題
: JAVA面試基礎常考題彙集2.JAVA面試SSM框架常考
:JAVA框架面試題彙集
一、Spring Cloud簡介
Spring Cloud爲開發人員提供了快速構建分佈式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智能路由,微代理,控制總線)。分佈式系統的協調導致了樣板模式, 使用Spring Cloud開發人員可以快速地支持實現這些模式的服務和應用程序。他們將在任何分佈式環境中運行良好,包括開發人員自己的筆記本電腦,裸機數據中心,以及Cloud Foundry等託管平臺。
Spring Cloud是一個基於Spring Boot實現的雲原生應用開發工具,它爲基於JVM的雲原生應用開發中涉及的配置管理、服務發現、熔斷器、智能路由、微代理、控制總線、分佈式會話和集羣狀態管理等操作提供了一種簡單的開發方式。
- ①首先,儘管Spring Cloud帶有“Cloud”這個單詞,但它並不是雲計算解決方案,而是在SpringBoot基礎之上構建的,用於快速構建分佈式系統的通用模式的工具集。
- ②其次,使用Spring Cloud開發的應用程序非常適合在Docker和PaaS(比如Pivotal Cloud Foundry)上部署,所以又叫做雲原生應用(Cloud Native Application)。雲原生可以簡單地理解爲面向雲環境的軟件架構。
特性 Spring Cloud的核心功能:
Spring Cloud專注於提供良好的開箱即用經驗的典型用例和可擴展性機制覆蓋。
- 分佈式/版本化配置
- 服務註冊和發現
- 路由
- service - to - service調用
- 負載均衡
- 斷路器
- 分佈式消息傳遞
二、Spring Cloud核心子項目
Spring Cloud Netflix:核心組件,可以對多個Netflix OSS開源套件進行整合,包括以下幾個組件:
- Eureka:服務治理組件,包含服務註冊與發現
- Hystrix:容錯管理組件,實現了熔斷器
- Ribbon:客戶端負載均衡的服務調用組件
- Feign:基於Ribbon和Hystrix的聲明式服務調用組件
- Zuul:網關組件,提供智能路由、訪問過濾等功能
- Archaius:外部化配置組件
Spring Cloud Config:配置管理工具,實現應用配置的外部化存儲,支持客戶端配置信息刷新、加密/解密配置內容等。
Spring Cloud Bus:事件、消息總線,用於傳播集羣中的狀態變化或事件,以及觸發後續的處理。
Spring Cloud Security:基於spring security的安全工具包,爲我們的應用程序添加安全控制。
Spring Cloud Consul :封裝了Consul操作,Consul是一個服務發現與配置工具(與Eureka作用類似),與Docker容器可以無縫集成。
通過這張圖,我們來了解一下各組件配置使用運行流程:
- 1、請求統一通過API網關(Zuul)來訪問內部服務.
- 2、網關接收到請求後,從註冊中心(Eureka)獲取可用服務
- 3、由Ribbon進行均衡負載後,分發到後端具體實例
- 4、微服務之間通過Feign進行通信處理業務
- 5、Hystrix負責處理服務超時熔斷
- 6、Turbine監控服務間的調用和熔斷相關指標
三、Spring Cloud面試常考
(1)請說說什麼是 spring cloud?
spring cloud 是一系列框架的有序集合。它利用 spring boot 的開發便利性巧妙地簡化了分佈式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用 spring boot 的開發風格做到一鍵啓動和部署。
(2)spring cloud 斷路器的作用是什麼?
在分佈式架構中,斷路器模式的作用也是類似的,當某個服務單元發生故障(類似用電器發生短路)之後,通過斷路器的故障監控(類似熔斷保險絲),向調用方返回一個錯誤響應,而不是長時間的等待。這樣就不會使得線程因調用故障服務被長時間佔用不釋放,避免了故障在分佈式系統中的蔓延。
(3)spring cloud 的核心組件有哪些?
- Eureka:服務註冊於發現。
- Feign:基於動態代理機制,根據註解和選擇的機器,拼接請求 url 地址,發起請求。
- Ribbon:實現負載均衡,從一個服務的多臺機器中選擇一臺
- Hystrix:提供線程池,不同的服務走不同的線程池,實現了不同服務調用的隔離,避免了服務雪崩的問題。
- Zuul:網關管理,由 Zuul 網關轉發請求給對應的服務。
(4)未完待續
後續繼續跟新相關知識…
The best investment is to invest in yourself
2020.06.16 記錄辰兮的第83篇博客