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

2.2.2 常用組件

(1)服務(wù)注冊和發(fā)現(xiàn)組件Eureka

利用Eureka組件可以很輕松地實(shí)現(xiàn)服務(wù)的注冊和發(fā)現(xiàn)的功能。Eureka組件提供了服務(wù)的健康監(jiān)測,以及界面友好的UI。通過Eureka組件提供的UI,Eureka組件可以讓開發(fā)人員隨時了解服務(wù)單元的運(yùn)行情況。另外Spring Cloud也支持Consul和Zookeeper,用于注冊和發(fā)現(xiàn)服務(wù)。

(2)熔斷組件Hystrix

Hystrix是一個熔斷組件,它除了有一些基本的熔斷器功能外,還能夠?qū)崿F(xiàn)服務(wù)降級、服務(wù)限流的功能。另外Hystrix提供了熔斷器的健康監(jiān)測,以及熔斷器健康數(shù)據(jù)的API接口。Hystrix Dashboard組件提供了單個服務(wù)熔斷器的健康狀態(tài)數(shù)據(jù)的界面展示功能,Hystrix Turbine組件提供了多個服務(wù)的熔斷器的健康狀態(tài)數(shù)據(jù)的界面展示功能。

(3)負(fù)載均衡組件Ribbon

Ribbon是一個負(fù)載均衡組件,它通常和Eureka、Zuul、RestTemplate、Feign配合使用。Ribbon和Zuul配合,很容易做到負(fù)載均衡,將請求根據(jù)負(fù)載均衡策略分配到不同的服務(wù)實(shí)例中。Ribbon和RestTemplate、Feign配合,在消費(fèi)服務(wù)時能夠做到負(fù)載均衡。

(4)路由網(wǎng)關(guān)Zuul

路由網(wǎng)關(guān)Zuul有智能路由和過濾的功能。內(nèi)部服務(wù)的API接口通過Zuul網(wǎng)關(guān)統(tǒng)一對外暴露,內(nèi)部服務(wù)的API接口不直接暴露,防止了內(nèi)部服務(wù)敏感信息對外暴露。在默認(rèn)的情況下,Zuul和Ribbon相結(jié)合,能夠做到負(fù)載均衡、智能路由。Zuul的過濾功能是通過攔截請求來實(shí)現(xiàn)的,可以對一些用戶的角色和權(quán)限進(jìn)行判斷,起到安全驗(yàn)證的作用,同時也可以用于輸出實(shí)時的請求日志。

上述的4個組件都來自于Netflix的公司,統(tǒng)一稱為Spring Cloud Netflix。

(5)Spring Cloud Config

Spring Cloud Config組件提供了配置文件統(tǒng)一管理的功能。Spring Cloud Config包括Server端和Client端,Server端讀取本地倉庫或者遠(yuǎn)程倉庫的配置文件,所有的Client向Server讀取配置信息,從而達(dá)到配置文件統(tǒng)一管理的目的。通常情況下,Spring Cloud Config和Spring Cloud Bus相互配合刷新指定Client或所有Client的配置文件。

(6)Spring Cloud Security

Spring Cloud Security是對Spring Security組件的封裝,Spring Cloud Security向服務(wù)單元提供了用戶驗(yàn)證和權(quán)限認(rèn)證。一般來說,單獨(dú)在微服務(wù)系統(tǒng)中使用Spring Cloud Security是很少見的,一般它會配合Spring Security OAuth2組件一起使用,通過搭建授權(quán)服務(wù),驗(yàn)證Token或者JWT這種形式對整個微服務(wù)系統(tǒng)進(jìn)行安全驗(yàn)證。

(7)Spring Cloud Sleuth

Spring Cloud Sleuth是一個分布式鏈路追蹤組件,它封裝了Dapper、Zipkin和Kibana等組件,通過它可以知道服務(wù)之間的相互依賴關(guān)系,并實(shí)時觀察鏈路的調(diào)用情況。

(8)Spring Cloud Stream

Spring Cloud Stream是Spring Cloud框架的數(shù)據(jù)流操作包,可以封裝RabbitMQ、ActiveMQ、Kafka、Redis等消息組件,利用Spring Cloud Stream可以實(shí)現(xiàn)消息的接收和發(fā)送。

上述列舉了一些常用的Spring Cloud組件。一個簡單的由Spring Cloud構(gòu)建的微服務(wù)系統(tǒng),通常由服務(wù)注冊中心Eureka、網(wǎng)關(guān)Zuul、配置中心Config和授權(quán)服務(wù)Auth構(gòu)成,架構(gòu)如圖2-9所示。

▲圖2-9 一個簡單的由Spring Cloud構(gòu)建的微服務(wù)系統(tǒng)

主站蜘蛛池模板: 石台县| 嵊泗县| 吉安市| 太保市| 磴口县| 宁蒗| 醴陵市| 肇州县| 晋州市| 阿克苏市| 理塘县| 上杭县| 大新县| 海原县| 阜城县| 龙门县| 长武县| 云和县| 嘉禾县| 赤壁市| 百色市| 深泽县| 新密市| 青岛市| 日照市| 蒙阴县| 普陀区| 临沧市| 女性| 蚌埠市| 德安县| 呼伦贝尔市| 金华市| 榆中县| 兰州市| 分宜县| 土默特右旗| 垣曲县| 定结县| 施甸县| 崇仁县|