SpringCloudGateway(一) 概览

SpringCloudGateway(一) 概览


Spring Cloud Gateway 的数据流图

    通读了两遍官方文档:Spring Cloud Gateway,对其数据的流向,各部分的处理组件,还有在各个阶段能做哪些事情又了大致的了解,做了下面的大致思维导图(有些部分还不太了解,后面可能需要写代码看看)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zTUSPAN4-1609380072409)(./picture/GatewayLine.png)]

    给人感觉就是两点模块:

  • 路由匹配:对初始的请求进行路由匹配,如果匹配,放入后面进行处理。这块看着还有下面两个作用

    • 负载均衡:后面的好像也有LoadBalance,这里还没有摸清楚
    • DNS:好像可以定义ip与域名之类的转换
  • Filter模块:这块功能最为丰富,针对请求(request)和响应(response)的各种增删改操作,还有一些高级的操作:降级限流之类的;还有其他协议的配置,WS、RPC,这块暂时也没摸清楚

一个简单的转发百度的示例

    一个路由定义最关键的是三个地方:匹配(path)、filter(可以多个filter处理)、目标(uri),这样访问此应用就转到了百度

@SpringBootApplication
public class Application {

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

	@Bean
	public RouteLocator myRoutes(RouteLocatorBuilder builder) {
		return builder.routes()
				.route(p -> p
						.path("/")
						.filters(f -> f.addRequestParameter("wd", "fs").addRequestHeader("test", "test"))
						.uri("http://www.baidu.com/"))
				.build();
	}
}
posted @ 2020-12-31 10:08  lw007  阅读(268)  评论(0编辑  收藏  举报