首页 > 其他 > 详细

GetWay的简单使用

时间:2020-09-19 09:29:18      阅读:305      评论:0      收藏:0      [点我收藏+]
Gateway 是 Spring Cloud 新推出的网关框架,该项目基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术,底层使用了高性能的通信框架Netty。
网关的作用:在没有API网关作为统一出口的情况下,需要调用方自己组合各种服务,而且容易让调用方感知后端各种服务的存在,加入网关后,客户端调用服务需要通过网关来进行,并且网关可以处理路由,安全,限流,缓存,日志,监控,重试,熔断等事务,使业务开发更纯净。
一些概念:
Route(路由):这是网关的基本构建块。它由一个 ID,一个目标 URI,一组断言和一组过滤器定义。如果断言为真,则路由匹配。
Predicate(断言):这是一个 Java 8 的 Predicate。我们可以使用它来匹配来自 HTTP 请求的任何内容。
Filter(过滤器):这是org.springframework.cloud.gateway.filter.GatewayFilter的实例,我们可以使用它修改请求和响应。
使用:
1.导入依赖:
<!--gateway-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
注:sprint-boot-starter-web这个依赖是不能引入,否则getway不能使用。
2.启动类:
@SpringBootApplication
@EnableEurekaClient
public class GetwayMain {
    public static void main(String[] args) {
        SpringApplication.run(GetwayMain.class,args);
    }
}
3.配置路由,getway当中配置路由有两种方式,第一种是通过yml配置文件的方式配置路由,第二种是通过配置类的方式来配置路由
使用yml:
spring:
  application:
    name: cloud-getway
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true
      routes:
        - id: payment_routh #id
          #uri: http://localhost:8001 #匹配的路由地址
          uri: lb://cloud-payment-service
          predicates:
            - Path=/payment/get/** #断言路径匹配进行路由
        - id: payment_routh
          #uri: http://localhost:8001
          uri: lb://cloud-payment-service
          predicates:
            - Path=/payment/lb/**
使用配置类:
@Configuration
public class GetwayConfig {
    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder routeLocatorBuilder){
        RouteLocatorBuilder.Builder routes = routeLocatorBuilder.routes();
        routes.route("com.74120",r->r.path("/guonei").uri("http://news.baidu.com/guonei")).build();
        return  routes.build();
    }
}

GetWay的简单使用

原文:https://www.cnblogs.com/mc-74120/p/13694581.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!