当前位置: 首页 > news >正文

php网站后台密码忘记了上海网络排名优化

php网站后台密码忘记了,上海网络排名优化,网站源代码分列怎么做,找衣服款式的网站官网地址:https://spring.io/projects/spring-cloud-gateway 概括简介 Cloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用Zuul网关;但是在2.x版本中,zuul的升级迟迟未更新,Spring Cloud最后自己研发了一个网关代替zuu…

官网地址:https://spring.io/projects/spring-cloud-gateway

概括简介

Cloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用Zuul网关;但是在2.x版本中,zuul的升级迟迟未更新,Spring Cloud最后自己研发了一个网关代替zuul, 那就是Spring Cloud GateWay

GateWay基本介绍

网关在微服务系统架构的位置如下图:
在这里插入图片描述
以下是来自官网的翻译:
https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.2.RELEASE/reference/html/
Gate
在这里插入图片描述
Spring Cloud GateWay 是基于WebFlux框架 ,使用Reactor模式, 而WebFlux框架底层使用的Netty.

GateWay源码架构:
在这里插入图片描述

GateWay作用

  • 反向代理
  • 鉴权
  • 流量控制
  • 熔断
  • 日志监控

微服务网关所处的位置

在这里插入图片描述

zuul 和 gateway 各自特点和区别

在这里插入图片描述

SpringCloud GateWay 特征

在这里插入图片描述

SpringCloud GateWay 和 Zuul 区别

在这里插入图片描述

Zuul1.x模型

Spring Cloud集成Zuul1版本,采用的是Tomcat容器,使用的是传统的Servlet IO处理模型。
Servlet由Servlet container进行生命周期管理,
在这里插入图片描述
在这里插入图片描述

#### GateWay 模型

Spring Cloud GateWay 是基于WebFlux框架 ,使用Reactor模式, 而WebFlux框架底层使用的Netty
在这里插入图片描述

GateWay三大核心概念

Route(路由)

路由是构建网关 的基本模块,它有ID,目标URI,一系列的断言过滤器组成,如果断言为true则配备该路由

Predicate(断言)

在这里插入图片描述

Filter(过滤)

Filter 指的是Spring框架中GatewayFilter的实例,使用过滤器,可以在请求前或者之后对请求进行修改

GateWay三大核心示意图

在这里插入图片描述

GateWay 工作流程

官网的工作流程图:
在这里插入图片描述
在这里插入图片描述

GateWay核心逻辑:路由转发 + 执行过滤器链

GateWay入门配置

  • 新建一个springboot模块:springcloud-gateway9527

  • 添加依赖

     <!--gateway--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--eureka-client--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
    
  • yml配置文件添加配置

    server:port: 9527spring:application:name: cloud-gatewaycloud:gateway:# 路由集合routes:- id: payment_routh #payment_route    #路由的ID,没有固定规则但要求唯一,建议配合服务名uri: http://localhost:8003          #匹配后提供服务的路由地址predicates:- Path=/payment/get/**         # 断言,路径相匹配的进行路由- id: payment_routh2 #payment_route    #路由的ID,没有固定规则但要求唯一,建议配合服务名uri: http://localhost:8002          #匹配后提供服务的路由地址predicates:- Path=/order/getPaymenttimeoutById/**         # 断言,路径相匹配的进行路由#- After=2020-02-21T15:51:37.485+08:00[Asia/Shanghai]#- Cookie=username,zzyy#- Header=X-Request-Id, d+  # 请求头要有X-Request-Id属性并且值为整数的正则表达式eureka:instance:hostname: cloud-gateway-serviceclient: #服务提供者provider注册进eureka服务列表内service-url:register-with-eureka: truefetch-registry: truedefaultZone: http://localhost:7001/eureka
    
  • 主启动类

    @EnableEurekaClient
    @SpringBootApplication
    public class SpringcloudGateway9527Application {
    

启动测试:

通过gateway网关 访问 8003 端口的微服务成功
在这里插入图片描述

GateWay动态路由

通过微服务名实现动态路由

默认情况下Gateway 会根据注册中心注册的服务列表,以注册中心上的微服务名为路径创建动态路由进行转发,从而实现动态路由功能(能负载均衡)

路由配置修改(负载均衡)

  • 我们只需要修改YML配置文件

  • 需要注意的是uri的协议为lb,表示启用Gateway的负载均衡功能。

    lb://serviceName

  • gateway在微服务中自动为我们创建负载均衡uri

注意:注意添加
discovery.locator.enabled=true表示开启从注册中心动态创建路由的功能,利用微服务名进行路由

或者在主启动类加上@EnableDiscoveryClient 表示开启服务注册和发现

@EnableDiscoveryClient
@SpringBootApplication
public class FyjmallGatewayApplication {

uri: lb://cloud-payment-service 表示匹配后提供服务的路由地址, cloud-payment-service是注册中心上的微服务名

spring:application:name: cloud-gatewaycloud:gateway:discovery:locator:enabled: true #开启从注册中心动态创建路由的功能,利用微服务名进行路由# 路由集合routes:- id: payment_routh #payment_route    #路由的ID,没有固定规则但要求唯一,建议配合服务名uri: lb://cloud-payment-service #匹配后提供服务的路由地址
#          uri: http://localhost:8003          #匹配后提供服务的路由地址predicates:- Path=/payment/get/**         # 断言,路径相匹配的进行路由- id: payment_routh2 #payment_route    #路由的ID,没有固定规则但要求唯一,建议配合服务名uri: lb://cloud-payment-service #匹配后提供服务的路由地址
#          uri: http://localhost:8002          #匹配后提供服务的路由地址predicates:- Path=/order/getPaymenttimeoutById/**         # 断言,路径相匹配的进行路由

路由先后顺序

路由断言匹配 是按照 配置的先后顺序的,如果路由配置断言匹配先匹配上,那么久进行路由,接下来的路由就不会走了

以上配置就能实现动态路由,实现负载均衡的功能

GateWay Predicate(断言)

我们先看上面我们的配置,如下图红框总的predicate配置,表示对路径进行配,如果路径匹配成功就进行路由,匹配不成功就不进行路由,相当于进行的断言判断
在这里插入图片描述

官网Predicate配置,官网地址:

https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.2.RELEASE/reference/html/#gateway-request-predicates-factories

官网配置截图:
在这里插入图片描述

常用的 Route Predicate:
在这里插入图片描述
对应的在yml配置:
在这里插入图片描述
在这里插入图片描述

注意predicates: 下面可以配置多个断言规则如下图:
在这里插入图片描述
更多Predicate配置请参考官网

GateWay 过滤器(Filter)

在这里插入图片描述

  • GateWay Filter 只能在业务逻辑之前,和业务逻辑之后
  • GateWay Filter 种类分为 单一的 GateWayFilter 和全局的 GlobalFilter

官网的GateWay Filter有很多,具体可以参考官网:

单一GateWay Filter配置如下截图:
在这里插入图片描述
在这里插入图片描述

注意 AddRequestParameter 参数表示添加请求参数,还有许多这样的参数配置,请参考官网。

自定义全局过滤器

自定义过滤器要实现2个接口,GlobalFilter,Ordered

主要能够实现全局日志记录,统一网关鉴权等…

案例代码:

@Component
public class MyGlobalFilter implements GlobalFilter,Ordered {@Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {String username = exchange.getRequest().getQueryParams().getFirst("username");if (username == null) {exchange.getResponse().setStatusCode(HttpStatus.NOT_ACCEPTABLE);return exchange.getResponse().setComplete();}// 放行return chain.filter(exchange);}// 表示排名@Overridepublic int getOrder() {return 0;}
}

在这里插入图片描述
测试:

  1. 请求带有参数username,可以成功访问

    在这里插入图片描述

  2. 请求没有带有参数username,无法访问
    在这里插入图片描述

  3. 或者参数

总结:

通过以上案例,我们可以自己定义全局GlobalFilter,对请求进行过滤,可以根据我们自己的定义的规则来过滤每一个请求

http://www.hkea.cn/news/352751/

相关文章:

  • 南阳住房和城乡建设厅网站招聘网站排名
  • 如何做网站活动封面建站的公司
  • 温州网站建设培训营销推广方案包括哪些内容
  • 厦门 建网站商业软文案例
  • wordpress读者墙站长之家seo工具包
  • 网站建设哪家好灵活苏州久远网络北京搜索引擎关键词优化
  • 网站优化怎么做 有什么技巧东莞seo建站
  • 什么网站可以做游戏机疫情最新数据消息
  • 企业网站开发报价单巩义网络推广
  • 网站开发技术交流群免费域名申请网站
  • 手机网站一键分享怎么知道自己的域名
  • 做网站 做好把我踢开北京网站搭建哪家好
  • 网站如何做引流刷外链网站
  • wordpress 站点地址关注公众号一单一结兼职
  • 合肥网站建设第一品牌个人seo外包
  • 省心的免费建站服务热线四川seo关键词工具
  • 网站总是跳转dede58seo对网络推广的作用是
  • seo排名怎么提高seo排名优化软件有用
  • 江门论坛建站模板黑帽seo联系方式
  • 政府网站信息内容建设专项检查搜索引擎排名优化seo课后题
  • 个人做的好的淘宝客网站软文营销推广
  • 城乡建设委员会网站河北seo推广公司
  • 某网站栏目策划2022十大热点事件及评析
  • 德清网站建设中心优化大师官方免费下载
  • 生日网页制作免费网站制作代做网页设计平台
  • 学校类网站特点游戏优化大师官网
  • 手机电视网站大全河南网站建设定制
  • zblog做的商城网站上海有实力的seo推广咨询
  • 免费网站模板psd网络营销的整体概念
  • 网站模板下载破解版环球军事新闻最新消息