over 5 years ago
Spring Cloud 整合了 Netflix/zuul 提供了一個外部可以存取內部資源的動態 gateway,讓內部資源不管如何調度都不會影響外部的使用。
ps. 但一直聽說有要出 Zuul2 !!
ps.ps. 但 spring cloud 自己推出了 spring-cloud/spring-cloud-gateway!!
引入套件
ext {
springCloudVersion = 'Dalston.SR3'
}
dependencies {
compile('org.springframework.cloud:spring-cloud-starter-zuul')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
設定檔
#關閉eureka因為路由部分是由我們手動編寫
ribbon.eureka.enabled: false
#有幾組就寫幾組上去吧
zuul:
routes:
member:
path: /member/**
url: http://api-test-member.711.com
google:
path: /google/**
url: http://google.com.tw
記得啟用
@EnableZuulProxy
@SpringBootApplication
public class AdminApplication {
public static void main(String[] args) {
SpringApplication.run(AdminApplication.class, args);
}
}
就可以改用 Proxy 來取得資料
#原本的
curl -X GET \
http://api-test-member.711.com/api/member/point/distribution/list
#透過Proxy
curl -X GET \
http://localhost:5566/member/api/member/point/distribution/list
結束