1. 程式人生 > >SpringCloud入門 - 一些基本概念

SpringCloud入門 - 一些基本概念

Monolith(單體應用)架構   -- 》  將所有的程式碼及功能都包含在一個WAR包中的專案組織方式

 最終部署的時候只有一份war包,其他的以jar包的方式依賴來

缺點:

在專案很小的情況下這種單體應用比較簡單,但是隨著專案越變越大,程式碼越來越多。就會存在以下缺點:
   ①編譯難,部署難,測試難
   ②技術選擇難 - 為了相容而選擇不合適的技術
   ③擴充套件難 - 單體應用中多個模組的負載不均衡,我們擴容高負載的時候,也把低負載的模組也擴容,極大浪費了資源

MicroService(微服務)架構   --》 可以解決單體專案的缺點

什麼是MicroService架構?

       微服務就是把一個單體專案,拆分為多個微服務,每個微服務可以獨立技術選型,獨立開發,獨立部署,獨立運維.並且多個服務相互協調,相互配合,最終完成使用者的價值

如何選擇? 

單體應用架構:中小型專案(功能相對較少) crm 物流 庫存管理等
微服務架構:大型專案(功能比較多) 商城 erp等

SpringCloud概述

一個基於Spring Boot實現的服務治理工具包,在微服務架構中用於管理和協調服務

五大神獸:

1. 服務發現——Netflix Eureka
2. 客服端負載均衡——Netflix Ribbon/Feign
3. 服務閘道器——Netflix Zuul
4. 斷路器——Netflix
5. 分散式配置——Spring Cloud Config

SpringCloud 工具框架:

1、Spring Cloud Config 配置中心,利用git集中管理程式的配置。 
2、Spring Cloud Netflix 整合眾多Netflix的開源軟體
3、Spring Cloud Bus 訊息匯流排,利用分散式訊息將服務和服務例項連線在一起,用於在一個叢集中傳播狀態的變化 
4、Spring Cloud for Cloud Foundry 利用Pivotal Cloudfoundry整合你的應用程式
5、Spring Cloud Cloud Foundry Service Broker 為建立管理雲託管服務的服務代理提供了一個起點。
6、Spring Cloud Cluster 基於Zookeeper, Redis, Hazelcast, Consul實現的領導選舉和平民狀態模式的抽象和實現。
7、Spring Cloud Consul 基於Hashicorp Consul實現的服務發現和配置管理。
8、Spring Cloud Security 在Zuul代理中為OAuth2 rest客戶端和認證頭轉發提供負載均衡
9、Spring Cloud Sleuth SpringCloud應用的分散式追蹤系統,和Zipkin,HTrace,ELK相容。
10、Spring Cloud Data Flow 一個雲本地程式和操作模型,組成資料微服務在一個結構化的平臺上。
11、Spring Cloud Stream 基於Redis,Rabbit,Kafka實現的訊息微服務,簡單宣告模型用以在Spring Cloud應用中收發
息。
12、Spring Cloud Stream App Starters 基於Spring Boot為外部系統提供spring的整合
13、Spring Cloud Task 短生命週期的微服務,為SpringBooot應用簡單宣告新增功能和非功能特性。
14、Spring Cloud Task App Starters
15、Spring Cloud Zookeeper 服務發現和配置管理基於Apache Zookeeper。
16、Spring Cloud for Amazon Web Services 快速和亞馬遜網路服務整合。
17、Spring Cloud Connectors 便於PaaS應用在各種平臺上連線到後端像資料庫和訊息經紀服務。
18、Spring Cloud Starters (專案已經終止並且在Angel.SR2後的版本和其他專案合併)
19、Spring Cloud CLI 外掛用Groovy快速的建立Spring Cloud元件應用。
  ... 等

​​​​​​​SpringCloud 與 dubbo

Dubbo,是阿里巴巴服務化治理的核心框架,並被廣泛應用於中國各網際網路公司;

Spring Cloud是大名鼎鼎的Spring家族的產品;

而dubbo曾經確實很牛逼,但是Spring Cloud是站在近些年技術發展之上進行開發,因此更具技術代表性

小結: Spring cloud是微服務架構中服務治理工具集,有很多產品組成。核心為五大神獸。相較於dubbo更加靠譜。

SpringCloud入門 - 搭建環境 :可檢視我寫的另外一篇部落格 --> https://blog.csdn.net/qq_38225558/article/details/85922428