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

建行购物网站万州做网站的公司

建行购物网站,万州做网站的公司,织梦中二次开发新的网站,泰安seo公司SpringCloudGateway网关实战#xff08;一#xff09; 目前对cloud的gateway功能还是不太熟悉#xff0c;因此特意新建了对应的应用来尝试网关功能。 网关模块搭建 首先我们新建一个父模块用于添加对应的springboot依赖和cloud依赖。本模块我们的配置读取使用的是nacos一 目前对cloud的gateway功能还是不太熟悉因此特意新建了对应的应用来尝试网关功能。 网关模块搭建 首先我们新建一个父模块用于添加对应的springboot依赖和cloud依赖。本模块我们的配置读取使用的是nacos因此需要添加相关依赖。另外由于SpringCloud新版本默认将Bootstrap禁用因此我们需要添加对应的依赖才能使bootstrap.yml起作用。 父模块 父模块smallred-gateway依赖 propertiesspring-boot.version2.7.13/spring-boot.versionspring-cloud.version2021.0.8/spring-cloud.versionspring-cloud-alibaba.version2021.0.5.0/spring-cloud-alibaba.version/propertiesdependencies!-- bootstrap 启动器 --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bootstrap/artifactId/dependency/dependencies!-- 依赖声明 --dependencyManagementdependencies!-- SpringCloud 微服务 --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency!-- SpringCloud Alibaba 微服务 --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba.version}/versiontypepom/typescopeimport/scope/dependency!-- SpringBoot 依赖配置 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement网关模块 网关模块gateway-api依赖 dependencies!-- SpringCloud Gateway --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependency!-- SpringCloud Loadbalancer --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-loadbalancer/artifactId/dependency!-- SpringCloud Alibaba Nacos --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependency!-- SpringCloud Alibaba Nacos Config --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/dependency/dependencies依赖pom文件创建完后我们需要创建启动类和bootstrap.yml 启动类 SpringBootApplication(exclude {DataSourceAutoConfiguration.class }) public class GatewayApplication { public static void main(String[] args) {SpringApplication.run(GatewayApplication.class, args);} }bootstrap.yml # Tomcat server:port: 8080# Spring spring:application:# 应用名称name: gateway-apicloud:nacos:discovery:# 服务注册地址server-addr: nacosIP:8848# 命名空间namespace: nacos命名空间IDconfig:# 配置中心地址server-addr: nacosIP:8848# 命名空间namespace: nacos命名空间ID# 配置文件格式file-extension: yaml需要注意的是我们需要在nacos中创建一个新的命名空间和在该命名空间中创建一个名为gateway-api的yaml配置文件。该文件暂时可以是这样空白的 1系统模块 这个模块用于模拟正常业务模块。 系统模块system-api依赖 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- SpringCloud Openfeign --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency!-- SpringCloud Loadbalancer --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId/dependency!-- SpringCloud Alibaba Nacos --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependency!-- SpringCloud Alibaba Nacos Config --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/dependency/dependencies依赖pom文件创建完后我们需要创建启动类和bootstrap.yml 启动类这里需要加上服务发现注解EnableDiscoveryClient EnableDiscoveryClient SpringBootApplication(exclude {DataSourceAutoConfiguration.class }) public class SystemApplication {public static void main(String[] args) {SpringApplication.run(SystemApplication.class, args);}}bootstrap.yml # Tomcat server:port: 9201# Spring spring:application:# 应用名称name: system-apicloud:nacos:discovery:# 服务注册地址server-addr: nacosIP:8848# 命名空间namespace: nacos命名空间IDconfig:# 配置中心地址server-addr: nacosIP:8848# 命名空间namespace: nacos命名空间ID# 配置文件格式file-extension: yaml创建一个名称为system-api的配置文件目前我们配置为空白即可 1创建一个接口用于测试使用 RestController RequestMapping(/system) public class UserController {GetMapping(value /user/info)public String getSystemInfo() {return 欢迎来到系统模块;}}路由配置 网关模块作为统一入口那么就需要一个路由配置来给网关“指路”。 最常用的注册中心配置方式lb。注意这里的predicates是必填的我们先如下进行填写。 spring:cloud:gateway:routes:- id: system-apiuri: lb://system-apipredicates:- Path/system-api/**filters:- StripPrefix1http地址配置方式 spring:cloud:gateway:routes:- id: system-apiuri: http://localhost:9201predicates:- Path/system-api/**filters:- StripPrefix1websocket配置方式 spring:cloud:gateway:routes:- id: system-apiuri: ws://localhost:9201predicates:- Path/system-api/**filters:- StripPrefix1这样请求到 localhost:8080/system-api/system/user/info这个接口时就能成功请求了。 路由规则 讲完路由配置后接下来我们就开始讲对应最多规则的路由规则。 DateTime spring:cloud:gateway:routes:- id: system-apiuri: lb://system-apipredicates:- After2023-08-20T22:20:00.00008:00[Asia/Shanghai]匹配日期时间之后发生的请求。如果在这个设定的时间之前则报404 Cookie spring:cloud:gateway:routes:- id: system-apiuri: lb://system-apipredicates:- Cookieloginname, smallred匹配指定名称且其值与正则表达式匹配的cookie。如果不存在对应cookie则报404 Header spring:cloud:gateway:routes:- id: system-apiuri: lb://system-apipredicates:- HeaderX-Request-Id, \d当发送的请求头部中包含一个名为X-Request-Id的字段并且其值为一个或多个数字时该请求就会匹配到这个路由规则。不含该Header则报404 Host spring:cloud:gateway:routes:- id: system-apiuri: lb://system-apipredicates:- Host**.somehost.org,**.anotherhost.org任何以.somehost.org或.anotherhost.org作为后缀的域名都可以通过这个路由规则进行匹配。 Method spring:cloud:gateway:routes:- id: system-apiuri: lb://system-apipredicates:- MethodGET,POST只有发送的请求使用了 GET 或 POST 方法时才会匹配到这个路由规则。其他请求方法如 PUT、DELETE 等将不会被匹配。 Path spring:cloud:gateway:routes:- id: system-apiuri: lb://system-apipredicates:- Path/system/**只有发送的请求的路径以/system/开头时并且可以包含任意子路径比如/system/user、/system/settings等才会匹配到这个路由规则。 Query spring:cloud:gateway:routes:- id: system-apiuri: lb://system-apipredicates:- Queryusername, abc.只有发送的请求中包含一个名为username且值为abc.的查询参数时才会匹配到这个路由规则。 RemoteAddr spring:cloud:gateway:routes:- id: system-apiuri: lb://system-apipredicates:- Cookieloginname, smallred只有发送的请求的远程地址为 192.168.10.1 或者属于 192.168.10.1/0 子网时才会匹配到这个路由规则。 Weight spring:cloud:gateway:routes:- id: system-apiuri: lb://system-apipredicates:- Weightgroup1, 8- id: user-apiuri: lb://user-apipredicates:- Weightgroup1, 2这两个路由规则示例都使用了权重Weight谓词来进行负载均衡通过设置不同的权重值可以控制转发给不同目标地址的请求的比例。在示例中system-api被选中的概率更高大约是user-api的四倍。 最简单的网关路由配置这里就结束了下一章节我们讲讲更加深入的一些配置。
http://www.w-s-a.com/news/770118/

相关文章:

  • 免费制作网站app百度首页纯净版
  • 支持api网站开发wordpress排版Markdown
  • 赤峰做网站的logo设计软件在线制作
  • iis网站批量导入苏州最新新闻事件今天
  • 甘肃省住房和城乡建设厅注册中心网站首页沈阳专业关键词推广
  • 网站怎么能在百度搜到网站开发费怎么做会计分录
  • 嘉定专业网站制作公司七星彩网站开发
  • 网站建设人员培训企业网站开发模型图
  • 自己开发一个网站应该怎么做国外设计网站 绿色的
  • 南昌外贸网站设计推广任务发布平台app
  • 建立网站成本书店网站建设可行性分析
  • 高端网站设计官网乌海学校网站建设
  • 哪些网站适合新手编程做项目优秀网页设计赏析
  • 永州网站seo德阳网站建设优化
  • 网站建设高端网站本地建设网站软件下载
  • 网站后台账号密码破解杭州酒店网站设计公司推荐
  • 和县网站开发秦皇岛建设工程信息网站
  • 国外网站用什么dns好建一个下载网站要什么cms系统
  • 礼品工艺品网站建设手机做网站哪家好
  • 泉州网站建设方案维护怎样选择网站建设
  • 江苏建站速度忿先进的网站建设
  • 广州天河建站公司com域名注册多少钱
  • 成都网站建设推广好vs2013如何做网站
  • 茶叶网站建设模板企业网站备案要多少钱
  • 怎么查网站找谁做的win主机伪静态规则 wordpress
  • 轻云服务器菁英版 多个网站北京it外包服务商
  • 售后服务 网站建设阳江seo优化
  • 网站建设后怎么赚钱wordpress调用导航栏
  • 特产网站设计六色网站
  • 服务器网站备案做网站公司如何赚钱