网站开发服务流程,三亚本地网站建设,数据指数,广告设计与制作专业简历前言 在Spring Boot中整合Spring Cloud Gateway是一个常见的需求#xff0c;尤其是当需要构建一个微服务架构的应用程序时。Spring Cloud Gateway是Spring Cloud生态系统中的一个项目#xff0c;它提供了一个API网关#xff0c;用于处理服务之间的请求路由、安全、监控和限流…
前言 在Spring Boot中整合Spring Cloud Gateway是一个常见的需求尤其是当需要构建一个微服务架构的应用程序时。Spring Cloud Gateway是Spring Cloud生态系统中的一个项目它提供了一个API网关用于处理服务之间的请求路由、安全、监控和限流等功能。
一、GateWay依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependency
二、application.yml配置
server:port: 9527spring:application:name: cloud-gatewaycloud:gateway:discovery:locator:enabled: true #开启从注册中心动态创建路由的功能利用微服务名进行路由routes:- id: payment_routh #payment_route #路由的ID没有固定规则但要求唯一建议配合服务名
# uri: http://localhost:8001 #匹配后提供服务的路由地址uri: lb://CLOUD-PAYMENT-SERVICE #匹配后提供服务的路由地址predicates:- Path/Payment/getPaymentById/** # 断言路径相匹配的进行路由- id: payment_routh2 #payment_route #路由的ID没有固定规则但要求唯一建议配合服务名
# uri: http://localhost:8001 #匹配后提供服务的路由地址uri: lb://CLOUD-PAYMENT-SERVICE #匹配后提供服务的路由地址predicates:- Path/Payment/lb/** # 断言路径相匹配的进行路由- After2020-11-20T17:07:24.35208:00[Asia/Shanghai]
# - Cookieusername,longy# - Before2020-11-20T17:11:24.35208:00[Asia/Shanghai]#- HeaderX-Request-Id, \d # 请求头要有X-Request-Id属性并且值为整数的正则表达式 三、过滤器
Component
Slf4j
public class MyLogGatewayFilter implements GlobalFilter, Ordered {Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {System.out.println(*********************************************** new Date());log.info(*********************************************** new Date());String uname exchange.getRequest().getQueryParams().getFirst(uname);if (uname null) {System.out.println(用户名为null非法用户***********************o(╥﹏╥)o);log.info(用户名为null非法用户***********************o(╥﹏╥)o);exchange.getResponse().setStatusCode(HttpStatus.NO_CONTENT);return exchange.getResponse().setComplete();}return chain.filter(exchange);}Overridepublic int getOrder() {return 0;}
}
总结 整合Spring Cloud Gateway到Spring Boot项目中需要添加相关依赖、配置路由规则、过滤器以及其他相关设置。这个过程涉及到多个步骤和配置文件需要仔细规划和配置。一旦配置完成Spring Cloud Gateway将为你的微服务架构提供强大的路由、安全性和监控功能。