01 前言:關於Spring Cloud的核心組件

在Spring Cloud生態體系內,最核心的五大部件成就了它如今的輝煌:

1、註冊中心

在Spring Cloud中,註冊中心有多個方案可選:Eureka、Zookeeper、Consul。

目前使用最多的是Eureka,如果熟悉阿里Dubbo框架的話,也可以採用Zookeeper作爲註冊中心,畢竟熟悉的東西用起來更得心應手。

 

2、配置中心

Spring Cloud Config承擔了微服務架構中的配置中心角色,實現了配置的統一管理和調度

 

3、服務網關

Spring Cloud集成了Netflix的Zuul 1.x作爲服務網關,微服務羣體一般處於一個封閉的局域網內,Spring Cloud的服務網關負責對外開放唯一的調度入口。

在Greenwish及更高版本的Spring Cloud中,開始使用Spring Cloud Gateway作爲服務網關,因爲Zuul 1.x基於Servlet 2.5,是一個阻塞型架構,不支持長連接;雖然Zuul 2.x基於Netty框架,但是目前Spring Cloud並沒有意向整合Zuul 2.x。

Spring Cloud Gateway基於Project React框架,屬於非阻塞型NIO架構,支持長連接和WebSocket,預計不就將會逐漸成爲官方推薦的網關組件。

 

4、服務容錯

Spring Cloud集成了Netflix的Hystrix作爲服務容錯組件,解決了微服務間雪崩故障問題。

 

5、服務調用

Spring Cloud中的Ribbon爲服務調用提供了最核心的技術服務:負載均衡;Ribbon通過在客戶端實現負載均衡的方式,對各個微服務提供業務調用時的負載均衡功能。但是,由於Ribbon通常是搭配RestTemplate進行服務調用,使用起來沒有那麼便捷;因此便衍生出更強大的服務調用組件:Feign。

Feign對Ribbon進行了封裝和強化,在開發微服務項目時,可以將調用其它微服務的模塊像調用數據的Mapper模塊一樣,生成對應的Feign模塊;例如:UserMapper實現對User表的操作,UserFeign實現對User微服務接口的操作;UserMapper一般存放在【cn.org.x-core.edusys.db.basic.mapper.UserMapper】包中,UserFeign則類似的存放在【cn.org.x-core.edusys.feign.UserFeign】包中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章