博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud Gateway入门
阅读量:4873 次
发布时间:2019-06-11

本文共 3760 字,大约阅读时间需要 12 分钟。

1、什么是Spring Cloud Gateway

Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系统中的网关,目标是替代Netflix ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。

2、Spring Cloud Gateway入门案例

2.1 创建maven工程,pom.xml文件

4.0.0
com.lynch
spring-cloud-gateway
0.0.1-SNAPSHOT
org.springframework.boot
spring-boot-starter-parent
2.0.3.RELEASE
UTF-8
UTF-8
1.8
Finchley.RELEASE
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-starter-gateway
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import
org.springframework.boot
spring-boot-maven-plugin

 

2.2 Spring Cloud Gateway主程序

package com.lynch;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.gateway.route.RouteLocator;import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;import org.springframework.context.annotation.Bean;/** * Spring Cloud Gateway主程序 * * @author Lynch */@SpringBootApplicationpublic class Application {    @Bean    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {        return builder.routes()                // basic proxy                .route(r -> r.path("/baidu")                .uri("http://baidu.com:80/"))                .build();    }    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}

 

2.3 编写application.yml文件

server:  port: 8080spring:  application:    name: spring-cloud-gateway  cloud:    gateway:      routes:      - id: xujin_route        uri: http://www.xujin.org:80/        predicates:        - Path=/xujin logging:  level:    org.springframework.cloud.gateway: TRACE    org.springframework.http.server.reactive: DEBUG    org.springframework.web.reactive: DEBUG    reactor.ipc.netty: DEBUG

 

2.4 基本代理路由配置等同写法

Spring Cloud Gateway提供了两种配置路由规则的方法

第一:通过@Bean自定义RouteLocator

@Bean    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {        return builder.routes()                // basic proxy                .route(r -> r.path("/baidu")                .uri("http://baidu.com:80/"))                .build();    }

 

第二:通过属于文件或者yml文件配置

spring:  cloud:    gateway:      routes:      - id: xujin_route        uri: http://www.xujin.org:80/        predicates:        - Path=/xujin

 

2.5 运行测试

访问http://localhost:8080/baidu,路由转发到http://www.baidu.com
访问http://localhost:8080/xujin,路由转发到http://xujin.orgyml

 

转载于:https://www.cnblogs.com/linjiqin/p/9766257.html

你可能感兴趣的文章
Java-IO Stream
查看>>
pagehelper的实现原理
查看>>
JAVA-序列化深拷贝对象
查看>>
input的placeholder的颜色、字号、边距设置
查看>>
B1029 旧键盘 (20 分)
查看>>
理解粒子滤波(particle filter)
查看>>
1-6-04:数组逆序重放
查看>>
PHP之文件目录基础操作方法
查看>>
POJ 2251 Dungeon Master(3D迷宫 bfs)
查看>>
问题 B: 习题6-5 数组元素逆置
查看>>
Xenomai 3 migration
查看>>
windows下apache httpd2.4.26集群完整搭建例子:下载、启动、tomcat集群例子
查看>>
Android应用资源---绘制资源类型(Drawable)(四)
查看>>
bzoj 2155 Xor
查看>>
git 设定全局ignore
查看>>
Rails5 layout 和 template
查看>>
Codeforces Round #460 Div. 2 C.D
查看>>
CodeForces 1110H. Modest Substrings
查看>>
同构伪代码彻底理解using 指令
查看>>
落没的十句经典
查看>>