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

百度地图嵌入公司网站俄罗斯乌克兰伤亡人数

百度地图嵌入公司网站,俄罗斯乌克兰伤亡人数,wordpress国外模板下载,WordPress朗读一、Gateway简介 Gateway是Spring Cloud官方推出的第二代微服务网关#xff0c;它旨在提供统一的路由方式以及为微服务应用提供强大的负载均衡能力。与第一代Spring Cloud Netflix Zuul相比#xff0c;Spring Cloud Gateway在性能、可扩展性、易用性等方面都有了显著的提升。…一、Gateway简介 Gateway是Spring Cloud官方推出的第二代微服务网关它旨在提供统一的路由方式以及为微服务应用提供强大的负载均衡能力。与第一代Spring Cloud Netflix Zuul相比Spring Cloud Gateway在性能、可扩展性、易用性等方面都有了显著的提升。其主要特性有以下几点 基于Spring Boot 和Spring Cloud 开发支持RESTful和WebSocket支持通过Feign或RestTemplate进行服务调用支持负载均衡、熔断、限流等操作支持动态路由、灵活的路由策略支持多种协议如HTTP、WebSocket等。 二、Gateway工作流程 Spring Cloud Gateway的工作流程主要包括以下几个步骤 客户端请求到达Gateway。再由Gateway Handler Mapping根据请求路径匹配路由表找到对应的路由规则。路由规则中包含断言再根据断言规则对请求进行匹配只有当请求符合断言规则时才会继续转发到Gateway Web Handler进行处理。Gateway Web Handler会根据路由规则将该请求转发到目标服务实例。在将请求转发到目标服务实例前会经过过滤器的处理。通过过滤器对该请求的处理后最后到达目标服务进行该请求的处理。目标服务处理完成后将响应结果再根据路由规则并应用过滤器对响应进行处理最后将响应返回给客户端。 三、Gateway使用 在项目中创建一个Gateway模块在其中pom文件中引入gataway、nacos、以及loadbalancer的依赖。 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- gateway --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependency!-- SpringCloud 负载均衡 --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId/dependency/dependencies3. 路由配置可以在YML中配置也可以通过配置类Configuration这两种方式的功能一样建议使用在YML中配置。 1配置类方式通过Bean注入一个RouteLocator配置类型。 Beanpublic RouteLocator customRouteLocator(RouteLocatorBuilder builder) {return builder.routes().route(path_route, r - r.path(/get).uri(http://httpbin.org)).route(host_route, r - r.host(*.myhost.org).uri(http://httpbin.org)).route(hystrix_route, r - r.host(*.hystrix.org).filters(f - f.hystrix(c - c.setName(slowcmd))).uri(http://httpbin.org)).route(hystrix_fallback_route, r - r.host(*.hystrixfallback.org).filters(f - f.hystrix(c - c.setName(slowcmd).setFallbackUri(forward:/hystrixfallback))).uri(http://httpbin.org)).build();}2YML文件配置方式 # 服务配置 server:port: 9003spring:application:name: njh-gateway-app cloud:loadbalancer:ribbon:enabled: falsecache:enabled: truecaffeine:spec: initialCapacity500,expireAfterWrite5s# nacos配置nacos:discovery:server-addr: ${spring.cloud.nacos.config.server-addr}namespace: ${spring.cloud.nacos.config.namespace}group: ${spring.cloud.nacos.config.group}username: ${spring.cloud.nacos.config.username}password: ${spring.cloud.nacos.config.password}# gateway配置gateway:routes:- id: njh-web-app #路由id保证唯一这里配置成服务名uri: lb://njh-web-app #匹配成功后路由的服务lb表示启用负载均衡predicates:- Path/api/webapp/** #断言根据路径进行匹配filters:- name: Retryargs:retries: 1 #重试次数- id: njh-biz-appuri: lb://njh-biz-apppredicates:- Path/api/bizapp/**filters:- name: Retryargs:retries: 1 #重试次数这样配置完后当请求到达gateway后就会根据请求的路径进行匹配然后将其转发到指定的服务去进行处理。例如上面yml文件中配置的请求中所有包含/api/webapp/路径的请求都会转发到njh-web-app服务上进行处理所有包含/api/bizapp/路径的请求都会转发到njh-biz-app服务上进行处理。 四、Gateway三大核心组件 Gateway的三大组件通常指的是路由Routing、断言Assertions和过滤器Filters。通过这三大组件共同协作使得Spring Cloud Gateway可以灵活地处理各种网络请求并提供强大的API网关功能。 路由Routing路由是Spring Cloud Gateway中的基本组成它由ID、目标URL、断言和过滤器组成。路由定义了如何将请求路由到特定的微服务。下面是routes属性的一些关键组成部分 spring:cloud:gateway:routes:- id: user_service_routeuri: lb://USER-SERVICEpredicates:- Path/users/**filters:- RewritePath/users/(?remaining.*), /$\{remaining}id路由的唯一标识符。上面设置为user_service_route。 uri请求被转发到的目标服务的URI。上面使用服务发现lb://USER-SERVICE来找到并转发请求到用户服务。 predicates一组断言条件用于匹配请求。如果断言条件满足请求将被路由到相应的URI。上面配置中的Path/users/**断言匹配所有以/users/开头的路径。 filters一组过滤器用于在请求到达目标服务之前或响应返回客户端之后对请求和响应进行操作。上面配置中的RewritePath过滤器用于重写路径移除/users/前缀。断言Assertions断言主要用于匹配请求只有当断言为true时请求才会被路由到相应的URI。Spring Cloud Gateway提供了多种方式来定义断言例如路径匹配、参数匹配等。Spring Cloud Gateway提供了多种内置的断言工厂例如 Path根据请求路径匹配断言。例如Path/api/**会匹配任何以/api/开头的路径。Query根据请求查询参数匹配断言。例如Queryname,aaa会匹配查询参数中包含nameaaa的请求。Header根据请求头匹配断言。例如HeaderX-Requested-Bymyapp会匹配请求头中包含X-Requested-By: myapp的请求。Method根据HTTP请求方法匹配断言。例如MethodGET仅匹配GET请求。Cookie根据请求中的Cookie值匹配断言。例如Cookiesession,mySessionId会匹配cookie中包含sessionmySessionId的请求。Host根据请求的主机头匹配。例如Host**.example.com会匹配任何以example.com结尾的主机头。 过滤器Filters过滤器是Spring Cloud Gateway的核心组件之一它可以在请求转发到相应微服务之前或之后执行一些操作例如请求转发、响应修改、限流、认证等。Spring Cloud Gateway提供了许多默认的过滤器同时也允许开发者自定义过滤器以满足特定的需求。过滤器可以链式执行即一个请求可以经过多个过滤器的处理。每个过滤器都能够访问到请求和响应对象并对它们进行修改。以下是一些常用的内置GatewayFilter类型 AddRequestHeader向请求添加一个新的头部信息。AddResponseHeader向响应添加一个新的头部信息。RewritePath重写请求的路径。RemoveRequestHeader从请求中移除一个头部信息。Hystrix为网关提供断路器功能防止服务故障导致网关崩溃。StripPrefix2去掉Path中前两个节点。 五、实现自定义过滤器 在Spring Cloud Gateway中实现自定义Filter主要分为以下几个步骤 创建一个类实现GlobalFilter接口或者GatewayFilter接口。GlobalFilter允许你创建全局过滤器而GatewayFilter通常用于创建特定路由的过滤器。在该类中实现filter方法该方法接收ServerWebExchange对象和GatewayFilterChain对象作为参数。通过ServerWebExchange对象你可以访问和修改请求和响应的信息。调用GatewayFilterChain对象的filter方法来继续执行后续的过滤器链。如果需要可以通过实现Ordered接口来指定过滤器的执行顺序。要使Spring Cloud Gateway识别并使用这个自定义过滤器需要在启动类上添加EnableGatewayWebFlux注解并确保自定义过滤器组件被Spring容器扫描到。 Component public class CustomRequestHeaderFilter implements GatewayFilter, Ordered {private static final int DEFAULT_ORDER 0;Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {// 添加自定义请求头ServerHttpRequest request exchange.getRequest().mutate().header(X-Custom-Header, MyCustomValue).build();// 将修改后的请求传递给下一个过滤器return chain.filter(exchange.mutate().request(request).build());}Overridepublic int getOrder() {// 返回过滤器的执行顺序值越小优先级越高。return DEFAULT_ORDER;} }六、实现负载均衡 在Spring Cloud Gateway中实现负载均衡主要依赖于内置的负载均衡器或者集成的服务发现组件。以下是实现负载均衡的几种方式 1使用Ribbon实现负载均衡 默认使用Netflix Ribbon作为负载均衡器。要启用Ribbon负载均衡需要在application.yml配置文件中添加相关配置。 添加依赖在pom.xml文件中添加以下依赖 dependencies!-- Spring Cloud Gateway --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependency!-- Spring Cloud Ribbon --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-ribbon/artifactId/dependency!-- Eureka (如果使用服务发现) --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependency /dependencies在application.yml中配置Ribbon启用服务发现功能 spring:cloud:nacos:discovery:enabled: truegateway:routes:- id: service_routeuri: lb://SERVICE_IDfilters:- AddRequestHeaderX-Request-Redirected, By-Gateway自定义Ribbon规则通过实现IRule接口来创建自定义的Ribbon规则然后在配置文件中指定这个规则。例如创建一个自定义的轮询规则 Configuration public class RibbonConfiguration {Beanpublic IRule ribbonRule() {return new RoundRobinRule();} }# 在application.yml中引用这个规则 spring:ribbon:NFLoadBalancerRuleClassName: com.yourpackage.RibbonConfiguration$YourCustomRule2基于Spring Cloud LoadBalancer的负载均衡 添加依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId /dependency在application.yml文件中配置路由 # 禁用ribbon spring:cloud:loadbalancer:ribbon:enabled: falsegateway:routes:- id: service_routeuri: lb://SERVICE_IDfilters:- AddRequestHeaderX-Request-Redirected, By-Gateway3自定义负载均衡器 在Spring Cloud Gateway中自定义负载均衡器可以通过实现LoadBalancerClientFactory接口来完成。 实现LoadBalancerClientFactory接口 public class CustomLoadBalancerClientFactory implements LoadBalancerClientFactory {Overridepublic LoadBalancerClient create(String serviceId) {// 实现创建自定义LoadBalancerClient的逻辑// 返回自定义的LoadBalancerClient实例return new CustomLoadBalancerClient();} }创建自定义LoadBalancerClient public class CustomLoadBalancerClient implements LoadBalancerClient {Overridepublic MonoServerWebExchange execute(Request request, ServerWebExchange exchange) {// 实现自定义的负载均衡逻辑// 返回处理后的ServerWebExchangereturn Mono.just(exchange);} }配置Spring Cloud Gateway使用自定义的负载均衡器 spring:cloud:loadbalancer:client:factory: com.yourpackage.CustomLoadBalancerClientFactory使用自定义负载均衡器 Configuration public class GatewayConfig {Beanpublic RouteLocators customRouteLocations(RouteLocatorBuilder builder) {return builder.routes().route(path_route, r - r.path(/customPath/**).uri(lb://CUSTOM_SERVICE)).build();} }
http://www.pierceye.com/news/972024/

相关文章:

  • 集团制度建设网站网站开发哪好
  • 大数据与网站开发技术做公司网站用什么系统
  • 河南网站建设价格寿光网站建设定制
  • 潍坊 开发区网站建设青海省网络公司
  • 网页设计的网网页设计的网站1688免费货源
  • 哪个网站可以做鞋鉴定濮阳河南网站建设
  • 建站之星如何建网站公司网站百度地图
  • 帮人做ppt的网站网站建设规划设计方案
  • 电子工程师网站私人网站服务器免费
  • 北京网站制作排名系统开发必须遵守的原则有哪些
  • 东莞企业网站建设公司做网站开源框架
  • 湛江宇锋网站建设网站技术防护建设情况
  • 电商网站怎么做的公司网站被黑有不良信息 做笔录
  • 前端开发可以做网站运营吗规模大的企业建站
  • 手表网网站模仿网站建设
  • 有做的小说网站怎样建设网站后台
  • 珠海高端网站制作公司兰州市建设局官方网站
  • 网站如何改首页模块有了主机如何做网站
  • 郑州哪有做网站的前端学习网站
  • 电商网站建设概念wordpress主题个人博客
  • 福州网站建设多少钱全网商城系统
  • 自己如何做团购网站在设计赚钱的网站
  • 支持wap网站的系统百度seo关键词排名查询
  • 做最好最全的命理网站郴州网络营销
  • wap网站技术怎么查询网站的建站时间
  • 深圳网站开发专业团队2o18江苏建设网站施工员模试卷
  • 网站购物建设实训心得体会中山皇冠建设开发有限公司网站
  • 做360pc网站排名首页学校网站建设工作计划
  • 网站设计与制作的基本步骤移动互联网论文
  • 建设部网站2015年第158号中国建筑材料网官网