SpringCloud基本介紹
SpringCloud官方檔案
1.提出問題
-
先思考一個問題,沒有微服務技術,是不是程式員就不能開發大型專案?
是可以的,對大型專案進行模塊劃分,對各個模塊進行實作,但模塊之間更多地是以API呼叫完成,耦合度較高,不利于拓展和維護(在沒有微服務技術時,很多大型專案就已經使用了微服務的概念)
-
標準化的微服務解決方案(SpringCloud 和 SpringCloud Alibaba)出現的原因和價值是什么?
(1)微服務可以根據業務不同,將一個大專案分解成不同的服務(比如搜索服務/網關服務/配置服務/存盤服務/發現服務等等)
(2)各個服務通過分布式方式進行作業,從而可以高效,快速,穩定地完成復雜的功能
(3)可以理解為:原來大專案的某些模塊->抽出形成微服務->配合分布式作業方式->從而高效,快速穩定地完成復雜功能
2.系統架構的演變程序
- 單機架構
- 動靜分離架構:靜態快取+檔案存盤
- 分布式架構:業務拆分+負載均衡
- 微服務架構:使用SpringCloud
-
”微服務“一詞源于 Martin Fowler 的名為 Microservices 的博文,簡單地說,微服務是系統架構上的一種設計風格,它的主旨是將一個原本獨立的系統拆分成多個小型服務,這些小型服務都在各自獨立的行程中運行,服務之間通過基于HTTP的Restful API進行通信協作,
-
被拆分的每一個小型服務,都圍繞著系統中的某一項,或一些耦合度較高的業務功能進行構建,并且每個服務都維護著自身的資料存盤、業務開發、自動化測驗案例以及獨立部署機制,由于有輕量級的通信協作基礎,所以這些微服務可以使用不同的語言來撰寫,
3.SpringCloud全面說明
- SpringCloud 來源于 Spring,是更高層次的、架構視角的綜合性大型專案,目標旨在構建一套標準化的微服務解決方案,讓架構師在使用微服務理念構建系統時,面對各個環節都可以找到相應的組件來處理
- SpringCloud 是 Spring 社區為微服務架構提供的一個 “全家桶” 套餐,套餐中各個組件之間的配合,可以減少組件選型和整合上花費的精力,可以快速構建起基礎的微服務架構系統,是微服務架構的最佳落地方案
- SpringCloud 天然支持 SpringBoot(有版本對應要求),使用門檻較低
- SpringCloud 解決了與分布式系統相關的復雜性——網路問題,延遲開銷,帶寬問題,安全問題
- 有處理服務發現的能力——服務發現允許集群中的行程和服務找到彼此并進行通信
- 可以處理冗余問題——冗余問題經常發生在分布式系統中
- 能夠解決負載平衡——改進跨多個計算資源(例如計算機集群、網路連接、中央處理單元)的作業負載分布
4.SpringCloud核心組件圖
-
SpringCloud 核心組件一覽圖,檔案 : https://spring.io/projects/spring-cloud
-
Spring Cloud Alibaba 檔案地址: https://github.com/alibaba/spring-cloud-alibaba
-
Spring Cloud Netflix 地址: https://github.com/Netflix
5.SpringCloud分布式示意圖
Spring | Microservices
分布式作業的簡單示意圖:
- SpringCloud 是微服務概念的落地實作
- SpringCloud 體現了微服務的彈性設計
- 微服務的作業方式一般是基于分布式的
- SpringCloud 仍然是 Spring 家族一員,可以解決微服務的分布式作業方式帶來的各種問題
- SpringCloud 可以幫助解決服務發現、負載平衡、斷路、分布式跟蹤和監視的問題,甚至可以充當 API 網關
- SpringCloud和SpringBoot版本的對應關系
6.SpringCloud組件選型
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/548959.html
標籤:其他
下一篇:Java 8 中需要知道的4個函式式介面-Function、Consumer、Supplier、Predicate
