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

做网站的论文摘要做网站白云区

做网站的论文摘要,做网站白云区,漯河市住房建设局网站,小企业网站建设和管理#x1f353; 简介#xff1a;java系列技术分享(#x1f449;持续更新中…#x1f525;) #x1f353; 初衷:一起学习、一起进步、坚持不懈 #x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正#x1f64f; #x1f353; 希望这篇文章对你有所帮助,欢… 简介java系列技术分享(持续更新中…) 初衷:一起学习、一起进步、坚持不懈 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正 希望这篇文章对你有所帮助,欢迎点赞 收藏 ⭐留言 更多文章请点击 文章目录 一、Gateway简介二、Spring Cloud Gateway入门案例2.1 父工程依赖2.2 gateway网关搭建2.2.1 pom依赖2.2.2 yml配置2.2.3 可能存在的问题启动报错如果uri使用lb负载均衡配置,可能会报错如下: 2.2.4 调用测试成功 三、网关路由流程图四、Nginx网关和GateWay网关的区别五、路由断言工厂六、过滤器工厂6.1 GatewayFilter路由过滤器6.2 默认过滤器6.3 全局过滤器6.4 过滤器执行顺序 七、跨域问题 一、Gateway简介 Gateway官网:https://spring.io/projects/spring-cloud-gateway Spirng Cloud 中网关的实现包括两种: gatewayzuul zuul是基于Servlet的实现,属于阻塞式编程,而Spring Cloud Gateway 则是基于Spring 5 中提供的WebFlux,属于响应式编程的实现,具备更好的性能。 Spring Cloud Gateway是Spring官方基于Spring 5.0Spring Boot 2.0和Project Reactor等技术开发的网关Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关目标是替代Netflix ZUUL其不仅提供统一的路由方式并且基于Filter链的方式提供了网关基本的功能例如身份验证,权限效验,服务路由,负载均衡,请求限流。 二、Spring Cloud Gateway入门案例 本篇文章将介绍Spring Cloud Alibaba体系下Spring Cloud Gateway的搭建服务注册中心和分布式配置中心使用Nacos 2.1 父工程依赖 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.6.3/versionrelativePath//parentpropertiesjava.version1.8/java.versionspring-cloud.version2021.0.1/spring-cloud.versionspring-cloud-alibaba.version2021.0.1.0/spring-cloud-alibaba.version/propertiesdependencyManagement!-- springCloud --dependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency!-- spring cloud alibaba是阿里巴巴集团针对服务开发所提供的一套解决方案 --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement2.2 gateway网关搭建 2.2.1 pom依赖 dependencies!-- nacos作为注册中心的依赖 --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependency!--网关--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependency/dependencies2.2.2 yml配置 server:port: 10010 # 网关端口 spring:application:name: gateway # 服务名称cloud:nacos:server-addr: localhost:8848 # nacos地址gateway:routes: # 网关路由配置- id: consumer-server # 路由id自定义只要唯一即可 # uri: http://127.0.0.1:20087 # 路由的目标地址 http就是固定地址uri: lb://consumer-server # 路由的目标地址 lb就是负载均衡后面跟服务名称predicates: # 路由断言也就是判断请求是否符合路由规则的条件- Path/consumer/** # 这个是按照路径匹配只要以/user/开头就符合要求- - id: provider-server# uri: http://127.0.0.1:8081uri: lb://provider-server predicates: - Path/provider/** 路由id : 路由的唯一标识路由目标(uri): 路由的目标地址,http代表固定地址,lb代表根据服务名负载均衡路由断言(predicates) : 判断路由的规则路由过滤器filters() : 对请求或响应做处理 2.2.3 可能存在的问题 启动报错 *************************** APPLICATION FAILED TO START ***************************Description:Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway.Action:Please set spring.main.web-application-typereactive or remove spring-boot-starter-web dependency.Exception in thread main java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration$SpringMvcFoundOnClasspathConfiguration: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration$SpringMvcFoundOnClasspathConfiguration]: Constructor threw exception; nested exception is org.springframework.cloud.gateway.support.MvcFoundOnClasspathException 产生原因 gateway的内部是通过nettywebflux实现的webflux实现和springmvc配置依赖冲突。 解决方案: 去除父工程中的 spring-boot-starter-web 这个依赖或者如下排除 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactIdexclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/exclusionexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-webflux/artifactId/exclusion/exclusions /dependency 如果uri使用lb负载均衡配置,可能会报错如下: 启动正常,调用可能会出现,没有可用的服务等信息 There was an unexpected error (typeService Unavailable, status503).添加如下依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId/dependency2.2.4 调用测试成功 未使用网关 使用网关10010端口调用 三、网关路由流程图 四、Nginx网关和GateWay网关的区别 Nignx是流量网关GateWay是业务网关 流量网关相当于访问的一个总入口前端页面的一个容器类似于防火。主要的功能有管理日志流量监控黑白名单请求的负载均衡全局限流等。 而业务网关是针对具体的后端应用和服务主要的功能是缓存策略、鉴权策略等 一般流量网关配置在前业务网关配置在后 Nginx是C语言写的GateWay是java语言写的 GateWay主要是路由、断言和过滤器利用这些可以做流控 Nginx主要是负载均衡反向代理以及做web服务器 五、路由断言工厂 官网12种示例地址 : https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gateway-request-predicates-factories 六、过滤器工厂 6.1 GatewayFilter路由过滤器 官网示例地址 : https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gatewayfilter-factories GatewayFilter是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理.。 6.2 默认过滤器 要对所有的路由都生效,则可以将过滤器工厂写到defalut下 spring:cloud:gateway:routes: # 网关路由配置- id: consumer-server # 路由id自定义只要唯一即可 # .....default-filters:- AddRequestHeaderX-Request-red, blue6.3 全局过滤器 全局过滤器对所有路由生效。通过实现GlobalFilter接口创建 全局过滤器的作用是处理一切进入网关的请求和微服务响应,与GarewayFilter的作用一样 区别在于GatewayFilter通过配置定义,处理逻辑是固定的,而GlobalFilter的逻辑需要自己写代码实现,定义方式是实现GlobalFilter接口 示例 Order(-1) //值越小,优先级越高 Component public class AuthorizeFilter implements GlobalFilter {Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {// 1.获取请求参数MultiValueMapString, String params exchange.getRequest().getQueryParams();// 2.获取authorization参数String auth params.getFirst(authorization);// 3.校验if (admin.equals(auth)) {// 放行return chain.filter(exchange);}// 4.拦截// 4.1.禁止访问设置状态码exchange.getResponse().setStatusCode(HttpStatus.FORBIDDEN);// 4.2.结束处理return exchange.getResponse().setComplete();} }6.4 过滤器执行顺序 全局过滤器与其他2类过滤器相比,永远是最后执行的,它的优先级只对其他全局过滤器起作用,order 值越小优先级越高执行顺序越靠前路由过滤器和默认过滤器会按照order的值进行排序,这个值由 Spring 指定默认是按照声明顺序从1递增。当过滤器的order值一样时,会按照 defaultFilter 路由过滤器 的顺序执行 七、跨域问题 spring:cloud:gateway:# 。。。globalcors: # 全局的跨域处理add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题corsConfigurations:[/**]:allowedOrigins: # 允许哪些网站的跨域请求 - http://localhost:8090allowedMethods: # 允许的跨域ajax的请求方式- GET- POST- DELETE- PUT- OPTIONSallowedHeaders: * # 允许在请求中携带的头信息allowCredentials: true # 是否允许携带cookiemaxAge: 360000 # 这次跨域检测的有效期
http://www.zqtcl.cn/news/302989/

相关文章:

  • 百度申诉网站建设银行住房租赁代表品牌是什么
  • 网站初期推广方案虚拟服务器搭建wordpress
  • jeecms可以做网站卖吗山西网络推广专业
  • 2017 如何做网站优化育儿哪个网站做的好
  • 网站制作容易吗青岛网站建设公司报价
  • 淘宝建设网站的好处网站制作结构
  • 网站开发网站建设公司临沂网站建设找谁
  • 咋么做网站在电脑上潍坊免费模板建站
  • 苏州网站建设推广咨询平台做网站的公司图
  • 北京企业网站怎么建设免费给我推广
  • 网站制作价钱多少专业的咨询行业网站制作
  • 做百度网站每年的费用多少交换友情链接时需要注意的事项
  • 怎么在百度网站上做自己的网站百度开户渠道
  • php技术的网站建设实录方案做二手手机的网站有哪些
  • 做网站店铺装修的软件怎么做淘课网站
  • 百度一下官方网站wordpress连接代码
  • 什么网站详情页做的好仿唧唧帝笑话门户网站源码带多条采集规则 织梦搞笑图片视频模板
  • 平原网站建设费用少儿编程加盟店倒闭
  • 企业网站建设专业公司蜜淘app在那个网站做的
  • 市住房城乡建设部网站大学生课程设计网站
  • 广州大石附近做网站的公司外包服务公司是干什么的
  • 做的新网站网上搜不到做的网站百度搜索不出来的
  • 电商网站后台报价公司如何建站
  • 查网站有没有做推广企业网站建设的目标
  • 北京网站维护公司专业外贸网站建设_诚信_青岛
  • 网站自己做还是用程序制作网站一般使用的软件有哪些
  • 晨雷文化传媒网站建设济南互联网品牌设计
  • 怎样给自己的网站做防红连接梵客装饰公司官网
  • 甘肃省城乡与住房建设厅网站纪检网站建设动态主题
  • 关于做好全国网站建设网站建设哪个好