SpringCloud 2020版本教程2:使用spring cloud gateway做爲服務網關

Spring Cloud Gateway是Spring Cloud官方推出的第二代網關框架,取代Zuul網關。網關做爲流量的,在微服務系統中有着很是做用,網關常見的功能有路由轉發、權限校驗、限流控制等做用。html

在上一節的案例中,咱們講述瞭如何使用nacos做爲服務註冊中心和配置中心,使用feign和sc loadbalancer做爲服務調用。本小節將講述如何使用spring cloud gateway做爲服務網關。git

工程構建

新建一個gateway的工程,工程目錄以下:github

gateway須要註冊到nacos中去,須要引入如下的依賴:web

<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>
        
複製代碼

在配置文件application.pom文件:spring

server:
  port: 5000

spring:
  application:
    name: gateway
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    gateway:
      discovery:
        locator:
          enabled: false
          lowerCaseServiceId: true
      routes:
        - id: provider
          uri: lb://provider
          predicates:
            - Path=/provider/**
          filters:
            - StripPrefix=1
        - id: consumer
          uri: lb://consumer
          predicates:
            - Path=/consumer/**
          filters:
            - StripPrefix=1

複製代碼

配置的解釋請閱讀文末的相關教程,在這裏再也不重複。瀏覽器

在工程的啓動文件加上相關注解:markdown

@SpringBootApplication
@EnableDiscoveryClient
public class GatewayApplication {

    public static void main(String[] args) {
        SpringApplication.run(GatewayApplication.class, args);
    }

}
複製代碼

依次啓動gateway\consumer\provider三個工程,在nacos中已經成功註冊:app

在瀏覽器上輸入http://localhost:5000/consumer/hi-feign,瀏覽器返回響應:框架

hello feign, i'm provider ,my port:8762
複製代碼

gateway還有其餘不少強大的功能在這裏就再也不講述。ide

相關教程

源碼下載

github.com/forezp/Spri…

相關文章
相關標籤/搜索