官术网_书友最值得收藏!

1.7 Spring Cloud工具套件介紹

Spring Cloud工具套件是一個(gè)龐大的家族,并且它對(duì)第三方的工具有很好的兼容性。限于篇幅,我們無(wú)法對(duì)所有組件進(jìn)行一一介紹,所以這里只對(duì)一些核心的和常用的組件進(jìn)行一個(gè)簡(jiǎn)要說(shuō)明,幫助讀者從整體上認(rèn)識(shí)和了解這個(gè)工具套件。Spring Cloud工具套件的思維導(dǎo)圖如圖1-4所示。

圖1-4

(1)Spring Cloud Netflix

這是Spring Cloud工具套件的核心,包含Netflix OSS的一些基礎(chǔ)組件,如Eureka、Hystrix、Zuul、Archaius、Ribbon和Turbine等,其中:

◎ Eureka是云端服務(wù)發(fā)現(xiàn),用于云端服務(wù)注冊(cè)與定位,以實(shí)現(xiàn)云端服務(wù)發(fā)現(xiàn)和故障轉(zhuǎn)移等服務(wù)治理。

◎ Hystrix是一個(gè)可提供斷路器、容錯(cuò)機(jī)制、降級(jí)機(jī)制等功能的管理工具,通過(guò)這一工具可以實(shí)現(xiàn)對(duì)第三方庫(kù)的延遲,以及對(duì)故障轉(zhuǎn)移提供全面的監(jiān)測(cè)和調(diào)控。

◎ Zuul是在云平臺(tái)上提供動(dòng)態(tài)路由、監(jiān)控和安全等邊緣服務(wù)的管理框架。Zuul相當(dāng)于設(shè)備和微服務(wù)應(yīng)用的Web網(wǎng)站后端所有請(qǐng)求的前門。

◎ Archaius是一個(gè)配置管理API,提供動(dòng)態(tài)類型化屬性、線程安全配置操作、輪詢框架、回調(diào)機(jī)制等功能。

◎ Ribbon提供云端負(fù)載均衡管理,有多種負(fù)載均衡策略可供選擇,能自動(dòng)配合服務(wù)發(fā)現(xiàn)和斷路器使用。

◎ Turbine是聚合服務(wù)發(fā)送事件流數(shù)據(jù)的一個(gè)工具,使用可配置方式監(jiān)控集群中服務(wù)的運(yùn)行情況。

(2)Spring Cloud Bus

一個(gè)事件、消息總線,用于在集群中傳播狀態(tài)變化,可與Spring Cloud Config聯(lián)合使用,實(shí)現(xiàn)動(dòng)態(tài)配置管理。

(3)Spring Cloud Cluster

提供Leadership選舉,如ZooKeeper、Redis、Hazelcast和Consul常見(jiàn)狀態(tài)模式的抽象和實(shí)現(xiàn)。

(4)Spring Cloud Consul

封裝了Consul操作,Consul是一個(gè)服務(wù)發(fā)現(xiàn)與配置工具,可以與Docker容器無(wú)縫集成。

(5)Spring Cloud Security

基于Spring Security的安全工具包,可以為應(yīng)用添加安全控制。

(6)Spring Cloud Sleuth

日志收集工具包,封裝了Dapper和log-based追蹤,以及Zipkin和HTrace操作,為微服務(wù)應(yīng)用實(shí)現(xiàn)了一種分布式追蹤解決方案。

(7)Spring Cloud Data Flow

大數(shù)據(jù)操作工具,是Spring XD的替代產(chǎn)品。它是一個(gè)混合計(jì)算模型,結(jié)合了流數(shù)據(jù)與批量數(shù)據(jù)的處理方式。

(8)Spring Cloud Stream

數(shù)據(jù)流操作開(kāi)發(fā)包,封裝了與Redis、Rabbit、Kafka等發(fā)送和接收消息的方法。

(9)Spring Cloud Starters

使用Spring Boot方式啟動(dòng)項(xiàng)目工具包,為Spring Cloud提供開(kāi)箱即用的依賴管理。

(10)Spring Cloud Pipeline

提供了一個(gè)有步驟的固定部署管道,以確保應(yīng)用程序可以以零停機(jī)的方式部署,并且很容易在出錯(cuò)后進(jìn)行回滾。

Spring Cloud工具套件除自身包含豐富的組件庫(kù)外,對(duì)于第三方庫(kù),也具有很好的兼容性。借助于Spring Cloud Consul,我們可以很方便地使用Consul搭建注冊(cè)中心,在提供服務(wù)注冊(cè)與發(fā)現(xiàn)的基礎(chǔ)上,實(shí)現(xiàn)遠(yuǎn)程配置管理功能。

下面兩個(gè)組件是由第三方提供的。

(1)Spring Boot Admin

Spring Boot Admin通過(guò)Spring Boot提供的監(jiān)控接口,如/health、/info等,加上對(duì)當(dāng)前處于活躍狀態(tài)的會(huì)話數(shù)量、當(dāng)前應(yīng)用的并發(fā)數(shù)、延遲及其他度量信息等,可以對(duì)分布式環(huán)境中的Spring Cloud應(yīng)用實(shí)現(xiàn)實(shí)時(shí)的全程監(jiān)控。

(2)zipkin-dependencies

zipkin-dependencies是由第三方封裝的可運(yùn)行應(yīng)用程序包,可以對(duì)Spring Cloud應(yīng)用的運(yùn)行和調(diào)用關(guān)系進(jìn)行全程跟蹤,從而為故障診斷和檢查提供幫助。它可以使用Web方式或與Kafka結(jié)合使用的方式傳遞日志數(shù)據(jù),然后自動(dòng)分析數(shù)據(jù),生成應(yīng)用之間的調(diào)用路線圖。

在應(yīng)用及其接口的調(diào)用中,Spring Cloud工具套件提供了Gateway和OpenFeign等組件,以支持在不同環(huán)境下對(duì)應(yīng)用之間的快速調(diào)用。

Spring Boot是Spring Cloud的基礎(chǔ)組成部分,也是Spring開(kāi)發(fā)框架的根本所在。其中:

◎ Netty是一個(gè)以事件驅(qū)動(dòng)的非阻塞的高并發(fā)服務(wù)。

◎ WebFlux是一個(gè)全新的反應(yīng)式Web框架。

◎ Spring Data是一個(gè)通用的基于Spring編程模型并且能夠保留數(shù)據(jù)底層特殊性的數(shù)據(jù)存取組件。

◎ Spring Security是一個(gè)功能強(qiáng)大、高度可定制的身份驗(yàn)證和訪問(wèn)控制框架。

◎ Spring AMQP是基于Spring框架的AMQP消息解決方案,提供模板化的發(fā)送和接收消息的抽象層,提供基于消息驅(qū)動(dòng)的POJO消息監(jiān)聽(tīng)等,極大地方便我們基于RabbitMQ等消息中間件進(jìn)行相關(guān)開(kāi)發(fā)。

主站蜘蛛池模板: 舟山市| 太湖县| 西峡县| 南靖县| 孝义市| 平湖市| 全椒县| 浏阳市| 安西县| 阳朔县| 泰兴市| 浦城县| 图木舒克市| 眉山市| 房产| 台州市| 云南省| 苏尼特左旗| 罗山县| 襄汾县| 竹山县| 威海市| 广灵县| 滨州市| 礼泉县| 岚皋县| 静宁县| 中宁县| 临汾市| 西吉县| 怀柔区| 万盛区| 巴林左旗| 岑巩县| 通许县| 若羌县| 乐清市| 元阳县| 集安市| 宝山区| 方山县|