本文就來說一下怎么去配置網關路由?
1. 創建項目gateway
使用Spring Initializr來快速構建網關項目,注意選擇下面的組件
2. 基礎配置
(1). 首先需要在啟動類添加注解@EnableZuulProxy
@SpringBootApplication
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
(2). 修改配置文件application.yml
spring:
application:
name: gateway
server:
port: 8080
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
3. 檢查是否已經注冊到eureka
ok,已經成功注冊到eureka。
4. 真正的網關路由
(1). user-service項目添加一個接口用來測試
@RestController
public class LoginController {
@GetMapping("/login")
public String login(){
return "hello,bearPotMan";
}
}
重啟user-service,測試接口是否可用
訪問http://localhost:8081/login
ok,沒問題!
(2). 修改gateway項目啟動類
@SpringBootApplication
@EnableZuulProxy // 添加注解,啟動路由代理
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
重啟gateway項目,訪問http://localhost:8080/user-service/login
注意:
默認路由規則 = 域名
+ 端口
+ 對應服務名(spring.application.name)
+ 接口地址
ok,可以正常顯示。
如果想要自定義路由規則,就需要在網關的配置文件中添加配置,比如
spring:
application:
name: gateway
server:
port: 8080
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
zuul:
routes:
# 自定義規則名
user-service-api:
# url地址
path: /user-api/**
# 要路由到哪個服務 -- 對應于具體服務的 spring.application.name
serviceId: user-service
ok,重啟網關服務,訪問http://localhost:8080/user-api/login
可以正常顯示,完美!
ok,以上就是本次分享的內容
關于如何實現服務注冊與發現服務端
。下一篇就來說一下配置中心
Config
的基礎配置。
我是bearPotMan,一個經驗不足的十八線演(碼)員(農)。
Know everything,control everything!