分佈式04-Spring Cloud Zuul Api網關 一

1.什麼是Zuul   web

zuul 是netflix開源的一個API Gateway 服務器, 本質上是一個web servlet應用。 spring

熟悉Nginx的朋友能夠把zuul理解爲一個Nginx,我的認爲2者主要在使用區別上,Zuul主要是處理與服務之間調用的,而Nginx主要處理與服務器之間的調用和一些靜態文件的訪問支持。api

2.搭建Zuul應用服務器

引入maven庫app

compile 'org.springframework.cloud:spring-cloud-starter-zuul:1.4.4.RELEASE'
compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')

配置application.propertiesmaven

server.port= 12003
eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone= http://${eureka.instance.hostname}:12000/eureka/#註冊到eureka
eureka.client.healthcheck.enabled=true
spring.application.name=eureka-Zuul

zuul.routes.eureka-server.path=/public/*#攔截轉發
zuul.routes.eureka-server.service-id=eureka-server#轉發的服務ID也能夠用URL
#zuul.routes.eureka-server.url=localhost:12000 #或者直接使用 URL轉發,類是Nginx service-id與url   2選用1
zuul.routes.eureka-server.strip-prefix=false #是否去除前綴 也就是public
zuul.ignored-patterns=/api/#不攔截轉發的規則

Application啓動添加註解測試

@EnableZuulProxy
@EnableDiscoveryClient

3.測試url

這樣Zuul的網關服務就啓動了。咱們來測試下spa

咱們方便再應用A,和應用B實現一個接口 贊成返回 2個應用的端口.net

方即是12000,12001 而後經過咱們的Zuul網關來調用

啓動完查看Eureka

調用 http://localhost:12003/public/getPort  經過Zuul服務 調用 eureka-server 2個應用,對應的配置是下面2個

zuul.routes.eureka-server.path=/public/*

zuul.routes.eureka-server.service-id=eureka-server

調用結果發現Zuul網關會再應用A和應用B進行輪詢調用

4.關於Zuul的配置說明

這有一篇比較全的配置說明文章,我就不重複寫了

http://www.javashuo.com/article/p-wlmtyokv-ea.html

相關文章
相關標籤/搜索