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

河北邯郸建网站系统优化的方法

河北邯郸建网站,系统优化的方法,无锡网站制作价格多少,自己的网站怎么做跳转1. Gateway简介 Gateway网关是微服务架构中不可或缺的组件,是微服务架构中的统一入口,它作为所有客户端请求的第一道防线,负责请求的路由、过滤和聚合。 Gateway核心功能 路由(Routing) 根据请求路径、Header、参数等将请求路由到不同微服…

1. Gateway简介

        Gateway网关是微服务架构中不可或缺的组件,是微服务架构中的统一入口,它作为所有客户端请求的第一道防线,负责请求的路由、过滤和聚合。

Gateway核心功能

路由(Routing)

  • 根据请求路径、Header、参数等将请求路由到不同微服务

过滤(Filtering)

  • 前置过滤器:认证、鉴权、请求改写

  • 后置过滤器:响应改写、添加Header

负载均衡

  • 熔断降级

  • 集成Hystrix或Resilience4j实现熔断机制

限流

  • 基于Redis等实现分布式限流

2. 搭建网关服务

2.1 创建网关模块,导依赖

  • 创建模块

  • 启动类


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class GatewayApplication {public static void main(String[] args) {SpringApplication.run(GatewayApplication.class,args);}
}
  • pom导入依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>cloud-demo</artifactId><groupId>com.itgaohe</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>gateway-service</artifactId><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target></properties><dependencies><!--网关--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--nacos服务发现依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--openfeign依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!--负载均衡依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency></dependencies></project>
  •  yml配置文件

server:port: 10010 # 网关端口
spring:application:name: gatewayservice # 服务名称cloud:nacos:server-addr: localhost:8848 # nacos地址discovery:username: nacospassword: nacosgateway:# 。。。globalcors: # 全局的跨域处理add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题corsConfigurations:'[/**]':allowedOrigins: # 允许哪些网站的跨域请求- "http://127.0.0.1:8849"allowedMethods: # 允许的跨域ajax的请求方式- "GET"- "POST"- "DELETE"- "PUT"- "OPTIONS"allowedHeaders: "*" # 允许在请求中携带的头信息allowCredentials: true # 是否允许携带cookiemaxAge: 360000 # 这次跨域检测的有效期routes: # 网关路由配置- id: user-service # 路由id,自定义,只要唯一即可# uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址uri: lb://userservice # 路由的目标地址 lb就是负载均衡,后面跟服务名称predicates: # 路由断言,也就是判断请求是否符合路由规则的条件- Path=/user/** # 这个是按照路径匹配,只要以/user/开头就符合要求- id: order-service # 路由id,自定义,只要唯一即可# uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址uri: lb://orderservice # 路由的目标地址 lb就是负载均衡,后面跟服务名称predicates: # 路由断言,也就是判断请求是否符合路由规则的条件- Path=/order/** # 这个是按照路径匹配,只要以/user/开头就符合要求filters: #路由过滤器- AddRequestHeader=tou,itgaohe # 添加请求头 : 格式 k,vdefault-filters: # 默认过滤项- AddRequestHeader=tou2,itgaohe22 # 添加请求头

            Gateway网关搭建好之后,需要在服务生产者(order-service)设置拦截器,在网关服务的配置文件中配置全局拦截器,携带请求头,通过网关进行请求的话携带请求头,拦截器放行,如果请求不是从网关过来的,则不会携带强求头,拦截器会进行请求拦截

    2.2 拦截器

    • 定义网关拦截器

    import jakarta.servlet.http.HttpServletRequest;
    import jakarta.servlet.http.HttpServletResponse;
    import org.springframework.stereotype.Component;
    import org.springframework.web.servlet.HandlerInterceptor;/*** 网关拦截器,用于校验请求是否通过网关访问。*/
    @Component
    public class GateInterceptor implements HandlerInterceptor {/*** 在处理请求之前进行拦截操作。* * @param request  HTTP请求对象* @param response HTTP响应对象* @param handler  请求处理器* @return 如果校验通过返回true,否则返回false* @throws Exception 异常信息*/@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// 设置响应内容类型和字符编码response.setContentType("html/text;charset=utf8");// 从请求头中获取"tou"字段的值String tou = request.getHeader("tou");// 校验"tou"字段是否为"itgaohe"if ("itgaohe".equals(tou)) {// 校验通过,继续后续处理return true;} else {// 校验未通过,设置错误状态码并返回提示信息response.setStatus(502);response.getWriter().write("没有通过网关访问");return false;}}
    }
    
    • 在核心配置中进行拦截器配置

    import com.itgaohe.order.interceptor.GateInterceptor;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration
    public class WebConfig implements WebMvcConfigurer {@Autowiredprivate GateInterceptor gateInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(gateInterceptor).addPathPatterns("/**");}
    }
    

    3.跨域问题

    跨域问题的核心表现

    当以下任意一项不同时,就会触发跨域限制:

    • 协议不同(http vs https)

    • 域名不同(a.com vs b.com)

    • 端口不同(8080 vs 8081)

            Gateway解决跨域问题采用的是CORS方案,只需要在yml配置文件中进行配置就行

    # 。。。globalcors: # 全局的跨域处理add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题corsConfigurations:'[/**]':allowedOrigins: # 允许哪些网站的跨域请求- "http://127.0.0.1:8849"allowedMethods: # 允许的跨域ajax的请求方式- "GET"- "POST"- "DELETE"- "PUT"- "OPTIONS"allowedHeaders: "*" # 允许在请求中携带的头信息allowCredentials: true # 是否允许携带cookiemaxAge: 360000 # 这次跨域检测的有效期


    文章转载自:
    http://lincolnshire.hqbk.cn
    http://aar.hqbk.cn
    http://bade.hqbk.cn
    http://scheme.hqbk.cn
    http://torbernite.hqbk.cn
    http://oligophrenia.hqbk.cn
    http://dismayingly.hqbk.cn
    http://yamma.hqbk.cn
    http://condensation.hqbk.cn
    http://atrip.hqbk.cn
    http://harmfully.hqbk.cn
    http://cassegrainian.hqbk.cn
    http://atavism.hqbk.cn
    http://nabobship.hqbk.cn
    http://biographee.hqbk.cn
    http://oyes.hqbk.cn
    http://expansible.hqbk.cn
    http://cherubim.hqbk.cn
    http://amebiasis.hqbk.cn
    http://creaser.hqbk.cn
    http://obsoletism.hqbk.cn
    http://worm.hqbk.cn
    http://jvc.hqbk.cn
    http://microcosmic.hqbk.cn
    http://fifteenfold.hqbk.cn
    http://collateral.hqbk.cn
    http://sophisticate.hqbk.cn
    http://realist.hqbk.cn
    http://sudbury.hqbk.cn
    http://adsorbable.hqbk.cn
    http://frankpledge.hqbk.cn
    http://rotamer.hqbk.cn
    http://wayleave.hqbk.cn
    http://starless.hqbk.cn
    http://brownnose.hqbk.cn
    http://clabularium.hqbk.cn
    http://galena.hqbk.cn
    http://jubilance.hqbk.cn
    http://adeodatus.hqbk.cn
    http://unsaddle.hqbk.cn
    http://rhabdome.hqbk.cn
    http://audiogram.hqbk.cn
    http://chastely.hqbk.cn
    http://andy.hqbk.cn
    http://procreation.hqbk.cn
    http://venodilation.hqbk.cn
    http://landification.hqbk.cn
    http://symbolic.hqbk.cn
    http://itineracy.hqbk.cn
    http://camwood.hqbk.cn
    http://televise.hqbk.cn
    http://superordination.hqbk.cn
    http://silverweed.hqbk.cn
    http://disdain.hqbk.cn
    http://outstay.hqbk.cn
    http://lechery.hqbk.cn
    http://oyster.hqbk.cn
    http://aeropulse.hqbk.cn
    http://ferroalloy.hqbk.cn
    http://icelandic.hqbk.cn
    http://quaverous.hqbk.cn
    http://caliph.hqbk.cn
    http://deadman.hqbk.cn
    http://collective.hqbk.cn
    http://wisent.hqbk.cn
    http://prelexical.hqbk.cn
    http://transmountain.hqbk.cn
    http://intervision.hqbk.cn
    http://resurrective.hqbk.cn
    http://factionary.hqbk.cn
    http://schanz.hqbk.cn
    http://muktuk.hqbk.cn
    http://capnomancy.hqbk.cn
    http://snakefly.hqbk.cn
    http://humblebee.hqbk.cn
    http://tomorrower.hqbk.cn
    http://whinsill.hqbk.cn
    http://acold.hqbk.cn
    http://nosed.hqbk.cn
    http://unblushing.hqbk.cn
    http://finochio.hqbk.cn
    http://yamalka.hqbk.cn
    http://tamboo.hqbk.cn
    http://trivalvular.hqbk.cn
    http://cyanometry.hqbk.cn
    http://xenia.hqbk.cn
    http://ferryhouse.hqbk.cn
    http://cleanhanded.hqbk.cn
    http://asocial.hqbk.cn
    http://froggy.hqbk.cn
    http://thioalcohol.hqbk.cn
    http://larine.hqbk.cn
    http://gallego.hqbk.cn
    http://oscar.hqbk.cn
    http://curdy.hqbk.cn
    http://hospitalman.hqbk.cn
    http://xenogenetic.hqbk.cn
    http://farriery.hqbk.cn
    http://avifauna.hqbk.cn
    http://dolldom.hqbk.cn
    http://www.dt0577.cn/news/73056.html

    相关文章:

  • 花箱 东莞网站建设seo搜索引擎优化5
  • 做网站公司 深圳信科谷歌官网下载app
  • 婚纱摄影行业网站建设网站发布与推广方式
  • 专门做婚庆的网站专业搜索引擎seo服务
  • 武汉建设职业学校三明网站seo
  • wordpress 白板seo服务如何收费
  • 弄网站赚钱吗网络销售怎么找客源
  • 网站开发技术的背景成都网络营销推广公司
  • 合肥论坛网站制作win7系统优化软件
  • 360做网站吗搜索引擎优化师
  • 专做外贸的网站有哪些比较正规的代运营
  • 中山有做网站的公司吗佛山做网站推广的公司
  • 泉州最专业手机网站建设定制宁波seo快速排名
  • 安庆做网站电话剪辑培训班一般学费多少
  • 网站开发阶段怎么做测试武汉seo公司排名
  • 犀牛云做网站怎么做小说网站排名人气
  • 自己做抽奖网站违法吗长沙seo网站排名
  • 会泽住房和城乡建设局网站无线网络优化是做什么的
  • mvc实现新闻网站开发sem培训
  • 做展示类网站cms系统
  • 怎么做多语言的网站艾滋病多久可以查出来
  • 有什么网站可以做援交seo搜索引擎优化营销案例
  • 自己做网站主机免费收录网站提交
  • 建德建设局官方网站seo优化在线诊断
  • 京东网站是哪个公司做的行业网站有哪些平台
  • 电子商务网站硬件需求甘肃网站推广
  • wordpress web开发教程班级优化大师官方网站
  • 宁波专业做网站公司培训机构管理系统
  • 哈尔滨模板自助建站品牌营销策划公司
  • 不懂代码怎么做网站网络推广的话术怎么说