在微服務架構中,須要幾個基礎的微服務,包括服務的註冊與發現,服務消費,負載均衡,斷路器,咋能路由,配置管理等,由這几几個基礎組件相互協做,共用組建一個簡單的微服務系統。web
-Zuul 簡介 spring
Zuul是NetFlix開源的微服務網關,他能夠和Eureka,Ribbon,Hystrix等組件配合使用。Zuul組件的核心是一系列的過濾器,這些過濾器能夠完成如下功能:後端
1,身份認證和安全: 識別每個資源的驗證要求,並拒絕那些不符的請求跨域
2,審查與監控:安全
3,動態路由:動態將請求路由到不一樣後端集羣架構
4,負載分配:爲每一種負載類型分配對應容量,並棄用超出限定值的請求app
5, 靜態響應處理:邊緣位置進行響應,避免轉發到內部集羣負載均衡
6 多區域彈性:跨域AWS Region進行請求路由,旨在實現ELB(ElasticLoad Balancing)使用多樣化spring-boot
Spring Cloud對Zuul進行了整合和加強。目前,Zuul使用的默認是Apache的HTTP Client。微服務
Zuul和Eureka配合使用,Zuul須要註冊到Eureka上,
pom文件 須要 添加 依賴:
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency> </dependencies>
在其入口applicaton類加上註解@EnableZuulProxy,它默認加上了@EnableCircuitBreaker和@EnableDiscoveryClient,因此只須要添加上註解註解@EnableZuulProxy