javascript
java分布式api网管关,分布式04-Spring Cloud Zuul Api网关 一
1.什么是Zuul
zuul 是netflix開源的一個API Gateway 服務(wù)器, 本質(zhì)上是一個web servlet應(yīng)用。
熟悉Nginx的朋友可以把zuul理解為一個Nginx,個人認為2者主要在使用區(qū)別上,Zuul主要是處理與服務(wù)之間調(diào)用的,而Nginx主要處理與服務(wù)器之間的調(diào)用和一些靜態(tài)文件的訪問支持。
2.搭建Zuul應(yīng)用
引入maven庫
compile 'org.springframework.cloud:spring-cloud-starter-zuul:1.4.4.RELEASE'
compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
配置application.properties
server.port=12003eureka.instance.hostname=localhosteureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:12000/eureka/#注冊到eurekaeureka.client.healthcheck.enabled=truespring.application.name=eureka-Zuul
zuul.routes.eureka-server.path=/public/*#攔截轉(zhuǎn)發(fā)zuul.routes.eureka-server.service-id=eureka-server#轉(zhuǎn)發(fā)的服務(wù)ID也可以用URL
#zuul.routes.eureka-server.url=localhost:12000 #或者直接使用 URL轉(zhuǎn)發(fā),類是Nginx service-id與url 2選用1zuul.routes.eureka-server.strip-prefix=false #是否去除前綴 也就是publiczuul.ignored-patterns=/api/#不攔截轉(zhuǎn)發(fā)的規(guī)則
Application啟動添加注解
@EnableZuulProxy
@EnableDiscoveryClient
3.測試
這樣Zuul的網(wǎng)關(guān)服務(wù)就啟動了。我們來測試下
我們方便再應(yīng)用A,和應(yīng)用B實現(xiàn)一個接口 同意返回 2個應(yīng)用的端口
方便是12000,12001 然后通過我們的Zuul網(wǎng)關(guān)來調(diào)用
啟動完查看Eureka
調(diào)用 http://localhost:12003/public/getPort ?通過Zuul服務(wù) 調(diào)用?eureka-server2個應(yīng)用,對應(yīng)的配置是下面2個
zuul.routes.eureka-server.path=/public/*
zuul.routes.eureka-server.service-id=eureka-server
調(diào)用結(jié)果發(fā)現(xiàn)Zuul網(wǎng)關(guān)會再應(yīng)用A和應(yīng)用B進行輪詢調(diào)用
4.關(guān)于Zuul的配置說明
這有一篇比較全的配置說明文章,我就不重復(fù)寫了
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的java分布式api网管关,分布式04-Spring Cloud Zuul Api网关 一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php赋值boolean,php布尔类型
- 下一篇: js ajax 浏览器兼容,JS跨浏览器