成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SpringCloud 專欄:快速入門指南!

開發(fā) 架構
Netflix 是一家技術實力雄厚的美國流媒體娛樂公司,主要通過互聯(lián)網(wǎng)向全球觀眾提供電影、電視劇、紀錄片、動畫片等在線視頻服務,類似于國內(nèi)的騰訊視頻,全球范圍內(nèi)擁有超過 2 億的訂閱用戶。

一、背景介紹

在微服務架構日益盛行的今天,Spring Cloud 憑借其豐富的功能集、高度的可集成性和對微服務架構的天然支持,自推出以來,就受到軟件開發(fā)者的熱烈追棒和廣泛應用。

使用過 Spring Cloud 的同學應該深有感觸。Spring Cloud 是一個功能強大的微服務框架,它提供了一套完整的分布式系統(tǒng)解決方案,比如配置管理、服務治理、熔斷機制、智能路由、微代理、控制總線等多種功能,可以幫助開發(fā)者快速構建和管理微服務應用。無論是大型企業(yè)還是初創(chuàng)公司,都可以以非常低的成本搭建一套高效、分布式、容錯的云平臺。

當項目引入 Spring Cloud 技術之后,一個接口的請求流程可以用如下圖來簡要描述。

圖片

從圖中可以看出,與單體應用相比,微服務的接口調用鏈路和服務部署方式要復雜許多。

二、技術體系

Spring Cloud 的核心技術體系,可以用如下圖來簡要概括。

圖片

在介紹 Spring Cloud 核心組件之前,我們先簡單的介紹一下 Netflix 這家公司,因為上圖提到的很多核心組件都來自于這家公司。

Netflix 是一家技術實力雄厚的美國流媒體娛樂公司,主要通過互聯(lián)網(wǎng)向全球觀眾提供電影、電視劇、紀錄片、動畫片等在線視頻服務,類似于國內(nèi)的騰訊視頻,全球范圍內(nèi)擁有超過 2 億的訂閱用戶。

如果要滿足這么龐大的用戶群體在線訪問網(wǎng)站視頻內(nèi)容,常規(guī)的網(wǎng)站架構肯定是無法承載的,為了更好的滿足海量用戶的在線視頻服務,Netflix 在微服務架構方面有著深入的研究和實踐,并開源了一系列組件。如上文提到的 Eureka、Ribbon、Hystrix、Feign、Zuul 等組件,就是 Netflix OSS 開源項目的一部分。由于其優(yōu)秀的微服務架構實踐和服務特性,Spring Cloud 將其集成到自己的生態(tài)圈,并組成微服務的核心。

2.1、第一代 Spring Cloud

初代的 Spring Cloud 核心成員,可以用如下表來概括。

組件

來源

說明

spring-cloud-eureka

來源于Netflix Eureka

服務注冊中心組件

spring-cloud-ribbon

來源于Netflix Ribbon

服務負載均衡組件

Spring-cloud-hystrix

來源于Netflix Hystrix

服務熔斷器組件

Spring-cloud-feign

來源于Netflix Feign

服務遠程調用組件

Spring-cloud-zuul

來源于Netflix Zuul

服務網(wǎng)關組件

Spring-cloud-config

自研

服務配置中心組件

Spring-cloud-bus

自研

服務消息總線

Spring-cloud-sleuth

自研

服務日志跟蹤

Spring-cloud-zikpin

來自第三方

服務日志全鏈路監(jiān)控

在此,只列舉了一些常用的核心組件,實際上 Spring Cloud 生態(tài)圈的核心組件非常的多,比如 Spring Cloud Security、Spring Cloud Data Flow、Spring Cloud Stream、Spring Cloud Task、Spring Cloud Connectors、Spring Cloud CLI 等等,每個組件都有它獨特的技能,再次就不一一介紹了,有興趣的朋友可以訪問 Spring Cloud 的官網(wǎng)介紹。

2.1、第二代 Spring Cloud

在 2018 年,由于 Netflix 對 Eureka,Hystrix 等組件不再繼續(xù)開發(fā)和維護了, 因此 Spring Cloud 不斷的引入了其它的開源組件,以此來壯大自己的生態(tài)圈,同時也陸續(xù)推出了自己的一些組件。

Spring Cloud 第一代和第二代的核心組件差異匯總,如下表所示。

核心組件

第一代 Spring Cloud

第二代 Spring Cloud

服務注冊中心

Eureka, Consul

Nacos

服務負載均衡

Ribbon

spring-cloud-loadbalancer

服務熔斷器

Hystrix

Resilience4j,Sentinel

服務遠程調用

Feign

Spring Cloud OpenFeign,基于 Feign 的升級版

服務網(wǎng)關

Zuul

Spring Cloud Gateway

配置中心

Spring Cloud Config

Nacos,Apollo

服務日志全鏈路監(jiān)控

zipkin

Skywalking

因為 Zuul 1.x 性能一般,雖然 Netflix 之后也推出了 Zuul 2.x,相比第一代性能也提升了不少,但當時一直跳票(延遲對外開放)。隨后 Spring Cloud 官方推出了自研的 Spring Cloud gateway,類似自研的還有 spring-cloud-loadbalancer,spring-cloud-r4j,Spring-cloud-openfeign 等,相比初代組件,性能和維護方面都有明顯的提升。

三、版本選擇

如果你翻看過 Spring Cloud 項目源碼,你會發(fā)現(xiàn)它其實是一個擁有諸多子項目的大型綜合項目,同時每個子項目也都維護著自己的發(fā)布版本號。這就意味著,每一個 Spring Cloud 的版本都會包含不同的子項目版本。

為了更好的管理子項目版本號,避免主版本名與子項目的發(fā)布版本號出現(xiàn)混亂。Spring Cloud 沒有采用版本號的方式來命令,而是通過名稱的方式來命令。

通常情況下,Spring Cloud 對外發(fā)行的版本號,采用的是倫敦地鐵站的名字來命令,根據(jù)字母表的順序來進行排序,比如:第一個 Release 版本:Angel,第二個 Release 版本:Brixton,以此類推……

每個大版本也有多個小版本號,比如Angel.SR5Brixton.SR6,其中SR5SR6就是小版本號。

小版本號的名稱命令也有講究,當一個大版本的 Spring Cloud 項目發(fā)布內(nèi)容積累到臨界點或者一個嚴重 bug 解決可用后,就會發(fā)布一個“service releases”版本,簡稱SRX版本,其中X是一個遞增數(shù)字。

Spring Cloud 的版本號與每個子項目的版本號之間的關系,可以用如下表簡要概括。

組件

Angel.SR6

Brixton.SR5

依次類推

spring-cloud-aws

1.0.4.RELEASE

1.1.1.RELEASE

...

spring-cloud-bus

1.0.3.RELEASE

1.1.1.RELEASE

...

spring-cloud-cli

1.0.6.RELEASE

1.1.5.RELEASE

...

spring-cloud-commons

1.0.5.RELEASE

1.1.1.RELEASE

...

spring-cloud-config

1.0.4.RELEASE

1.1.3.RELEASE

...

spring-cloud-netflix

1.0.7.RELEASE

1.1.5.RELEASE

...

spring-cloud-security

1.0.3.RELEASE

1.1.2.RELEASE

...

spring-cloud-starters

1.0.6.RELEASE


...

spring-cloud-cloudfoundry


1.0.0.RELEASE

...

spring-cloud-cluster


1.0.1.RELEASE

...

spring-cloud-consul


1.0.2.RELEASE

...

spring-cloud-sleuth


1.0.6.RELEASE

...

spring-cloud-stream


1.0.2.RELEASE

...

spring-cloud-zookeeper


1.0.2.RELEASE

...

spring-boot

1.2.8.RELEASE

1.3.7.RELEASE

...

spring-cloud-task


1.0.2.RELEASE

...

Spring Cloud 的發(fā)展勢頭非常迅猛,截止目前,大版本號已經(jīng)到Leyton了。盡管如此,對于初學者而言,了解版本號的定義非常重要,避免后續(xù)在基于 Spring Cloud 框架來開發(fā)的時候走彎路。

由于 Spring Cloud 子項目特別多,尤其是在現(xiàn)有 Spring Boot 基礎上集成的時候,很容易因為版本號不同出現(xiàn)各種不兼容現(xiàn)象,以下是 Spring Cloud 與 Spring Boot 版本匹配關系。

Spring Cloud

Spring Boot

Angel

兼容Spring Boot 1.2.x

Brixton

兼容Spring Boot 1.3.x,Spring Boot 1.4.x

Camden

兼容Spring Boot 1.4.x,Spring Boot 1.5.x

Dalston

兼容Spring Boot 1.5.x

Edgware

兼容Spring Boot 1.5.x

Finchley

兼容Spring Boot 2.0.x

Greenwich

兼容Spring Boot 2.1.x

Hoxton

兼容Spring Boot 2.2.x,Spring Boot 2.3.x

Ilford

兼容Spring Boot 2.4.x,Spring Boot 2.5.x

Jubilee

兼容Spring Boot 2.6.x,Spring Boot 2.7.x

Kilburn

兼容Spring Boot 3.0.x,Spring Boot 3.1.x

Leyton

兼容Spring Boot 3.2.x,Spring Boot 3.3.x

在實際的微服務開發(fā)過程中,當代碼編寫一切都是正常的,但是運行時各種出錯,大概率應該是版本號的選擇上出了問題。推薦結合當前使用的 Spring Boot 版本,采用與 Spring Cloud 匹配的穩(wěn)定版本號來開發(fā),會省去不少的麻煩。

四、小結

最后總結一下,Spring、Spring Boot、Spring Cloud 這三者之間的關系。

Spring -> Spring Boot -> Spring Cloud

關于 Spring Boot,在之前的技術系列文章中我們有所介紹過, 它是一個基于 Spring 框架實現(xiàn)的應用程序快速開發(fā)工具,開發(fā)者可以使用它來快速的構建一個可獨立運行的 Java 應用程序,開箱即用。

對于 Spring Cloud,它是一個基于 Spring Boot 實現(xiàn)的云應用開發(fā)工具,通過它可以快速搭建微服務架構項目,比如配置管理、服務治理、熔斷機制、智能路由、微代理、控制總線等多種功能,開發(fā)者可以以非常低的成本搭建一套高效、分布式、容錯的云平臺。

因此可見,Spring Cloud 離不開 Spring Boot,兩者屬于依賴關系。

在之前的技術系列文章中,我們有詳細的介紹過 Spring Boot 相關知識,本期將開啟 Spring Cloud 技術系列相關知識介紹。

五、參考

1.https://www.didispace.com/spring-cloud/springcloud-version.html

2.http://www.ityouknow.com/springcloud/2017/05/01/simple-springcloud.html

責任編輯:武曉燕 來源: 潘志的技術筆記
相關推薦

2011-03-08 16:50:35

2020-11-25 19:05:50

云計算SaaS公有云

2019-11-13 15:44:17

Kafka架構數(shù)據(jù)

2021-03-02 06:32:03

Ansible系統(tǒng)運維

2021-03-01 13:00:21

Ansible系統(tǒng)運維

2024-08-27 09:09:49

Web系統(tǒng)JSP

2020-11-13 05:49:09

物聯(lián)網(wǎng)城域網(wǎng)IOT

2010-12-23 13:45:23

Office 2010批量激活

2009-09-22 13:01:04

ibmdwBPM

2020-05-11 09:54:33

JavaScript開發(fā)技術

2022-10-28 18:36:18

2021-02-22 18:50:03

Ansible系統(tǒng)運維

2023-12-19 09:36:35

PostgreSQL數(shù)據(jù)庫開源

2010-08-03 15:19:08

FlexBuilder

2011-05-18 15:15:44

MySQL

2021-03-26 10:31:19

人工智能AIOps

2015-10-29 15:36:19

Redis入門

2011-03-08 09:22:37

2023-09-26 15:50:21

2013-01-08 13:33:07

Android開發(fā)Activity入門指南
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线精品 | 久久精品亚洲精品国产欧美 | 精品国产免费人成在线观看 | 国产91久久久久久 | 精品欧美一区二区三区 | 欧美嘿咻| 久久精品国产久精国产 | 亚洲一区二区三区久久 | 欧美一区精品 | 国产综合精品 | 久久久国产一区二区三区 | 精品伊人久久 | 一区二区三区四区免费视频 | 色综合99| 91一区二区 | 爱综合| 亚洲人成人一区二区在线观看 | 欧美成人在线网站 | 久久成人精品视频 | 亚洲国产精品久久久久秋霞不卡 | 一本色道精品久久一区二区三区 | 91福利网址 | 99精品亚洲国产精品久久不卡 | 综合久 | 国产精品久久久久久久久久久免费看 | 狠狠的日 | 精品国产第一区二区三区 | www.操.com| 亚洲一区二区免费视频 | 精品av | 亚洲一区亚洲二区 | 少妇诱惑av | 成人午夜av | 国产高清自拍视频在线观看 | 精品在线一区二区 | 欧美亚洲国产日韩 | 国产高清性xxxxxxxx | 婷婷激情综合 | 天天综合天天 | www.日韩系列 | 日本一二三区高清 |