高质量的南昌网站建设电商到底是做什么的

web/2025/10/4 8:12:58/文章来源:
高质量的南昌网站建设,电商到底是做什么的,html网站标签,做淘宝客网站用什么程序最好Spring cloud教程|Gateway服务网关 写在前面的话#xff1a; 本笔记在参考网上视频以及博客的基础上#xff0c;只做个人学习笔记#xff0c;如有侵权#xff0c;请联系删除#xff0c;谢谢#xff01; Spring Cloud Gateway 是 Spring Cloud 的一个全新项目#xff0c;…Spring cloud教程|Gateway服务网关 写在前面的话 本笔记在参考网上视频以及博客的基础上只做个人学习笔记如有侵权请联系删除谢谢 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目该项目是基于 Spring 5.0Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。 1、为什么需要网关 Gateway网关是我们服务的守门神所有微服务的统一入口。 网关的核心功能特性 请求路由权限控制限流 架构图 权限控制网关作为微服务入口需要校验用户是是否有请求资格如果没有则进行拦截。 路由和负载均衡一切请求都必须先经过gateway但网关不处理业务而是根据某种规则把请求转发到某个微服务这个过程叫做路由。当然路由的目标服务有多个时还需要做负载均衡。 限流当请求流量过高时在网关中按照下流的微服务能够接受的速度来放行请求避免服务压力过大。 在SpringCloud中网关的实现包括两种 gatewayzuul Zuul是基于Servlet的实现属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的WebFlux属于响应式编程的实现具备更好的性能。 2、gateway快速入门 下面我们就演示下网关的基本路由功能。基本步骤如下 创建SpringBoot工程gateway引入网关依赖编写启动类编写基础配置和路由规则启动网关服务进行测试 1、引入网关依赖 !--网关-- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId /dependency2、编写启动类 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);} }3、配置路由规则 server:port: 10010 spring:application:name: gatewaycloud:nacos:discovery:server-addr: 192.168.192.128:8848gateway:routes: # 网关路由配置- id: nacos-consumer # 路由id自定义只要唯一即可uri: lb://nacos-consumer # 路由的目标地址 lb就是负载均衡后面跟服务名称predicates: # 路由断言也就是判断请求是否符合路由规则的条件- Path/hello/** # 这个是按照路径匹配只要以/hello/开头就符合要求我们将符合Path 规则的一切请求都代理到 uri参数指定的地址。 本例中我们将 /hello/**开头的请求代理到lb://userservicelb是负载均衡根据服务名拉取服务列表实现负载均衡。 4、重启测试 http://localhost:10010/hello/sayHi/zhagnsan 访问流程如下 总结 网关搭建步骤 创建项目引入nacos服务发现和gateway依赖 配置application.yml包括服务基本信息、nacos地址、路由 路由配置包括 路由id路由的唯一标示 路由目标uri路由的目标地址http代表固定地址lb代表根据服务名负载均衡 路由断言predicates判断路由的规则 路由过滤器filters对请求或响应做处理 3、断言工厂 我们在配置文件中写的断言规则只是字符串这些字符串会被Predicate Factory读取并处理转变为路由判断的条件 例如Path/user/**是按照路径匹配这个规则是由 org.springframework.cloud.gateway.handler.predicate.PathRoutePredicateFactory类来 处理的像这样的断言工厂在SpringCloudGateway还有十几个: 名称说明示例After是某个时间点后的请求- After2037-01-20T17:42:47.789-07:00[America/Denver]Before是某个时间点之前的请求- Before2031-04-13T15:14:47.43308:00[Asia/Shanghai]Between是某两个时间点之前的请求- Between2037-01-20T17:42:47.789-07:00[America/Denver], 2037-01-21T17:42:47.789-07:00[America/Denver]Cookie请求必须包含某些cookie- Cookiechocolate, ch.pHeader请求必须包含某些header- HeaderX-Request-Id, \dHost请求必须是访问某个host域名- Host.somehost.org,.anotherhost.orgMethod请求方式必须是指定方式- MethodGET,POSTPath请求路径必须符合指定规则- Path/red/{segment},/blue/**Query请求参数必须包含指定参数- Queryname, Jack或者- QuerynameRemoteAddr请求者的ip必须是指定范围- RemoteAddr192.168.1.1/24Weight权重处理 我们只需要掌握Path这种路由工程就可以了。 4、过滤器工厂 GatewayFilter是网关中提供的一种过滤器可以对进入网关的请求和微服务返回的响应做处理 4.1.路由过滤器的种类 Spring提供了31种不同的路由过滤器工厂。例如 名称说明AddRequestHeader给当前请求添加一个请求头RemoveRequestHeader移除请求中的一个请求头AddResponseHeader给响应结果中添加一个响应头RemoveResponseHeader从响应结果中移除有一个响应头RequestRateLimiter限制请求的流量 ​ 以请求过滤头AddRequestHeader 为例 给所有进入nacos-consumer的请求添加一个请求头 Hello World ! 只需要修改gateway服务的application.yml文件添加路由过滤即可 server:port: 10010 spring:application:name: gatewaycloud:nacos:discovery:server-addr: 192.168.192.128:8848gateway:routes: # 网关路由配置- id: nacos-consumer # 路由id自定义只要唯一即可uri: lb://nacos-consumer # 路由的目标地址 lb就是负载均衡后面跟服务名称predicates: # 路由断言也就是判断请求是否符合路由规则的条件- Path/hello/** # 这个是按照路径匹配只要以/hello/开头就符合要求filters:- AddRequestHeaderTruth, Hello the World! # 添加请求头 键值对 k,v#当前过滤器写在nacos-consumer路由下因此仅仅对访问nacos-consumer的请求有效。当前过滤器写在userservice路由下因此仅仅对访问userservice的请求有效 在请求的方法参数添加RequestHeader 注解即可获取请求头参数 RequestMapping(getConfig) public String getConfig(RequestHeader(value truth,required false) String truth){System.out.println(truth);return serviceFeginClient.getConfig(); }如果要对所有的路由都生效则可以将过滤器工厂写到default下。格式如下 spring:cloud:gateway:routes:- id: nacos-consumer uri: lb://nacos-consumerpredicates: - Path/hello/**default-filters: # 默认过滤项- AddRequestHeaderTruth, Hello the World! 总结 过滤器的作用是什么 ① 对路由的请求或响应做加工处理比如添加请求头 ② 配置在路由下的过滤器只对当前路由的请求生效 defaultFilters的作用是什么 ① 对所有路由都生效的过滤器 4.2、全局过滤器 上面列出的过滤器网关提供了31种但每一种过滤器的作用都是固定的。如果我们希望拦截请求做自己的业务逻辑则没办法实现。 ​ 全局过滤器的作用也是处理一切进入网关的请求和微服务响应与GatewayFilter的作用一样。区别在于GatewayFilter通过配置定义处理逻辑是固定的而GlobalFilter的逻辑需要自己写代码实现。 定义方式是实现GlobalFilter接口。 public interface GlobalFilter {/*** 处理当前请求有必要的话通过{link GatewayFilterChain}将请求交给下一个过滤器处理** param exchange 请求上下文里面可以获取Request、Response等信息* param chain 用来把请求委托给下一个过滤器 * return {code MonoVoid} 返回标示当前过滤器业务结束*/MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain); }在filter中编写自定义逻辑可以实现下列功能 登录状态判断权限校验请求限流等 需求定义全局过滤器拦截请求判断请求的参数是否满足下面条件 参数中是否有authorization authorization参数值是否为admin 如果同时满足则放行否则拦截 实现 在gateway中定义一个过滤器 package cn.itcast.gateway.filters;import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.core.annotation.Order; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Component; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono;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();} }4.3、过滤器执行顺序 请求进入网关会碰到三类过滤器当前路由的过滤器、DefaultFilter、GlobalFilter 请求路由后会将当前路由过滤器和DefaultFilter、GlobalFilter合并到一个过滤器链集合中排序后依次执行每个过滤器 排序的规则是什么呢 每一个过滤器都必须指定一个int类型的order值order值越小优先级越高执行顺序越靠前。GlobalFilter通过实现Ordered接口或者添加Order注解来指定order值由我们自己指定路由过滤器和defaultFilter的order由Spring指定默认是按照声明顺序从1递增。当过滤器的order值一样时会按照 defaultFilter 路由过滤器 GlobalFilter的顺序执行 详细内容可以查看源码 org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator#getFilters()方法是先加载defaultFilters然后再加载某个route的filters然后合并。 org.springframework.cloud.gateway.handler.FilteringWebHandler#handle()方法会加载全局过滤器与前面的过滤器合并后根据order排序组织过滤器链 4.3、跨域问题 跨域域名不一致就是跨域主要包括 域名不同 www.taobao.com 和 www.taobao.org 和 www.jd.com 和 miaosha.jd.com域名相同端口不同localhost:8080和localhost8081 跨域问题浏览器禁止请求的发起者与服务端发生跨域ajax请求请求被浏览器拦截的问题 解决方案CORS参考 https://www.ruanyifeng.com/blog/2016/04/cors.html 在gateway服务的application.yml文件中添加下面的配置 spring:cloud:gateway:# 。。。globalcors: # 全局的跨域处理add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题corsConfigurations:[/**]:allowedOrigins: # 允许哪些网站的跨域请求 - http://localhost:8090# allowedOrigins: * # 跨域处理 允许所有的域allowedMethods: # 允许的跨域ajax的请求方式- GET- POST- DELETE- PUT- OPTIONSallowedHeaders: * # 允许在请求中携带的头信息allowCredentials: true # 是否允许携带cookiemaxAge: 360000 # 这次跨域检测的有效期

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

长清网站建设本地58同城招聘网

前言 每个成功的软件平台都有一个优秀的打包系统,比如Debian、Ubuntu 的 apt,RedHat、CentOS 的 yum。Helm 则是 Kubernetes上 的包管理器,方便我们更好的管理应用。 1.Helm的相关知识 1.1 Helm的简介与了解 Helm本质就是让K8s的应用管理&…

旅行社网站建设的目的杭州网页模板建站

Google是公认的全球最大的搜索引擎,同时,Google还通过旗下的 YouTube、Gmail、Google Play、Android等产品,汇集了海量的海外用户。对于跨境出海商家来说,谷歌广告是提高销售额、提高产品流量、拓展全球市场的重要推广渠道。 那么…

中山网站制作策划网络技术服务合同模板

文章目录1. 为什么要进行实例探究2. 经典网络3. 残差网络 ResNets4. 残差网络为什么有用5. 网络中的网络 以及 11 卷积6. 谷歌 Inception 网络简介7. Inception 网络8. 使用开源的实现方案9. 迁移学习10. 数据增强 Data augmentation11. 计算机视觉现状作业参考: 吴…

四川关于工程建设网站网站内页修改关键字

想要在保育员职位的求职过程中脱颖而出吗,参考这7篇精选的保育员简历案例!无论您的经验如何,都能找到适合自己的简历样式及参考内容。 保育员个人简历模板下载(可在线编辑制作):来幻主简历,做好…

网站备案被取消售后软件网站开发

在写一个代码生成可执行文件的过程需要经过编译和链接&#xff0c;编译又要经过三部&#xff1a;预处理&#xff0c;编译&#xff0c;汇编。 #define定义的变量和宏就是在预处理阶段会处理的。 一个简单的宏定义&#xff1a; #include<stdio.h>; #define Max(a,b) a>…

嘉兴市网站建设做网站总结与体会

系列文章目录 文章目录 系列文章目录前言一、使用过git merge和git rebase吗?它们之间有什么区别?二、使用过git cherry-pick,有什么作用?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看…

青岛网站建设推广公司哪家好游戏代理怎么赚钱的

系列文章使用 abp cli 搭建项目给项目瘦身&#xff0c;让它跑起来完善与美化&#xff0c;Swagger登场数据访问和代码优先自定义仓储之增删改查统一规范API&#xff0c;包装返回模型再说Swagger&#xff0c;分组、描述、小绿锁接入GitHub&#xff0c;用JWT保护你的API异常处理和…

如何做seo整站优化天津做网站找哪家公司好

当需要在机器之间传输400GB文件的时候&#xff0c;你就会非常在意传输的速度了。默认情况下(约125MB带宽&#xff0c;网络延迟17ms&#xff0c;Intel E5-2430&#xff0c;本文后续讨论默认是指该环境)&#xff0c;scp的速度约为40MB&#xff0c;传输400GB则需要170分钟&#xf…

博客论坛网站开发珠宝类网站建设可执行报告

final&#xff0c;finally&#xff0c;finalize的区别 在Java中&#xff0c;final、finally和finalize是三个不同的关键字&#xff0c;它们具有不同的作用和用法。 1、final&#xff1a; final是一个修饰符&#xff0c;可以用于修饰类、方法和变量。 用于修饰类时&#xff0…

未备案的网站可以百度推广吗wordpress58同城主题

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

海南省建设网站的公司投资 公司 网站模板

题目 产品数据表: Products 写一段 SQL来查找在 2019-08-16 时全部产品的价格&#xff0c;假设所有产品在修改前的价格都是 10 。 以 任意顺序 返回结果表。 查询结果格式如下例所示。 示例 1: 解题思路 1.题目要求我们查找在 2019-08-16 时全部产品的价格&#xff0c;假设所…

安卓app开发模板嘉峪关seo

代码 #include <stdio.h> #include <stdlib.h>/************************************************************************/ /*栈应用示例--数制转换要求&#xff1a;输入任意的正整数N(十进制)&#xff0c;分别输出该整数的二进制、八进制、十六进制的结果算法…

阳江网站建设wordpress 图片 网盘

早期的视频文件将多语言放在了左右声道&#xff0c;手机上播放时&#xff0c;很多播放器并没有切换声道的功能&#xff0c;所以需要做分离 导出单声道视频 ffmpeg -i 01.rmvb -c:v h264 -af pan"stereo| c0FR | c1FR" -acodec aac 01.mp4 这里的FR是右声道&#x…

网站制作目的建设购物网站的条件

外卖业务的快速发展对系统稳定性提出了更高的要求&#xff0c;每一次订单量大盘的异常波动&#xff0c;都需要做出及时的应对&#xff0c;以保证系统的整体稳定性。如何做出较为准确的波动预警&#xff0c;显得尤为重要。 从时间上看&#xff0c;外卖订单量时间序列有两个明显的…

php商城建站系统颍上做网站

Anaconda的作用 Anaconda的存在&#xff0c;使得一台电脑上可以存在多个不同版本的python和相应的包&#xff0c;这解决了多个项目运行时&#xff0c;所需要的python和包版本不同的问题。 本文内容 今天就来简单说说如何在pycharm使用Anaconda中的虚拟环境。 详细介绍 首先…

万网 网站建设方案书厦门网站建设公司闽icp

示例过滤器表达式本节介绍可通过 er_print -filters 命令以及在分析器过滤对话框中使用的过滤器表达式的示例。利用 er_print -filters 命令&#xff0c;过滤器表达式用单引号引起来&#xff0c;如下所示&#xff1a;er_print -filters FNAME("myfunc") SOME IN USTA…

专业网站快速排名优势河南做网站哪个平台好

一、选择题 1、人类信息技术发展的第一次飞跃发生在&#xff1a; A&#xff0e;古代社会 B&#xff0e;近代社会 C&#xff0e; 现代社会 D&#xff0e; 当代社会 2、计算机I/O设备指的是计算机系统的: A&#xff0e;控制设备; B&#xff0e;存储设备 C&#xff0e;输入/输出设…

上国外网站哪个dns快中国企业信息网官网

工业物联网平台解决方案 物联网&#xff0c;这个曾经似乎遥不可及的科技概念&#xff0c;如今已逐渐渗透到我们生活的方方面面。从智能家居到智能工业&#xff0c;从智能医疗到智能城市&#xff0c;物联网技术正在改变着我们的世界。 然而&#xff0c;正如任何一项技术一样&a…

甘肃省通信管理局网站今天的新闻报道

GRE和MGRE VPN---虚拟专用网络。指依靠ISP&#xff08;运营商&#xff09;或其他公有网络基础设施上构建的专用的安全数据通信网络。该网络是属于逻辑上的。​ 核心机制—隧道机制&#xff08;封装技术&#xff09; GRE—通用路由封装 ​ 三层隧道技术&#xff0c;并且是属于…

网站建立的步骤一件代发货源网1688

很多新手用户不知道阿里云服务器购买的流程&#xff0c;不清楚该如何选购云服务器配置才能既满足需求又不会掉“坑”里&#xff0c;为此笔者整理了2024年购买阿里云服务器的完整流程&#xff0c;分为通过云服务器ECS产品页下单购买和通过阿里云活动购买云服务器两种最常见的购买…