首页 > 其他分享 >SpringCloud系列之网关gateway-3.创建默认路由规则

SpringCloud系列之网关gateway-3.创建默认路由规则

时间:2022-10-24 15:31:59浏览次数:52  
标签:网关 SpringCloud eureka 访问 小写 我们 gateway 路由

SpringCloud系列之网关gateway-3.创建默认路由规则_无法访问

我们建立一个项目,依赖如下:

SpringCloud系列之网关gateway-3.创建默认路由规则_负载均衡_02

我们引入了actuator监控组件,eureka组件, 可以看到我们没有引入spring-boot-starter-web这个依赖,是因为gateway这个项目较为特殊。

SpringCloud系列之网关gateway-3.创建默认路由规则_无法访问_03

图中我们引入了gateway组件,第二个组件是redis的组件,这个用于限流使用。

SpringCloud系列之网关gateway-3.创建默认路由规则_负载均衡_04

因为这个实例是建立在有eureka服务的基础上,所以yml文件中需要有eureka的相关配置,因为本次的实例是连接eureka自动创建路由,所以我们配置为enabled:true

我们启动eureka服务,然后启动几个feigh,然后启动gateway服务,然后访问gateway的actuator查看下:

SpringCloud系列之网关gateway-3.创建默认路由规则_spring_05

可以看到gateway的访问地址 但是这个地址访问是看不到页面的,应该是

地址/routes

SpringCloud系列之网关gateway-3.创建默认路由规则_无法访问_06

SpringCloud系列之网关gateway-3.创建默认路由规则_spring_07

我们将路由规则json给格式化可以看得更清晰一点,可以看到有这样的匹配规则,我们试着访问gateway的这个接口可以看到是可以访问到的:

SpringCloud系列之网关gateway-3.创建默认路由规则_无法访问_08

SpringCloud系列之网关gateway-3.创建默认路由规则_负载均衡_09

可以看到我们点击两次请求,发现请求到了同一个服务的不同实例,就证明gateway给我们的服务做了负载均衡了。但是为什么服务是大写的呢?按照我们的书写习惯一般是用小写的,我们去看下eureka注册中心可以看到:

SpringCloud系列之网关gateway-3.创建默认路由规则_负载均衡_10

可以看到在注册中心就是大写的名字。

那么如果想要小写的,可以这么配置:

SpringCloud系列之网关gateway-3.创建默认路由规则_负载均衡_11

注意:配置完之后,就是小写了,大写的就无法访问!!

添加路由

下面是所有的路由规则,注意,如果在上面配置了路径是小写,那么在下面动态添加路由规则的时候 uri中的路径也必须是小写的,否则无法访问!!!

SpringCloud系列之网关gateway-3.创建默认路由规则_无法访问_12

下面是我们要添加的路由信息的post接口,其中dynamic是我们要添加的路由id名称

SpringCloud系列之网关gateway-3.创建默认路由规则_负载均衡_13

SpringCloud系列之网关gateway-3.创建默认路由规则_负载均衡_14

添加的json数据中,order是排序号,uri后面的lb意思是我们采用负载均衡策略,然后后面的链接是我们需要访问到的Eureka实例地址 predicateds中的args中的值 /dynamic 是我们要访问的地址路径。 filter是在访问路径中做一些过滤。

删除路由

接口采用的restful规则,所以删除的话就直接改为DELETE调用即可

SpringCloud系列之网关gateway-3.创建默认路由规则_负载均衡_15

标签:网关,SpringCloud,eureka,访问,小写,我们,gateway,路由
From: https://blog.51cto.com/u_15838998/5789927

相关文章

  • 使用API网关构建微服务
     使用传统的异步回调方法编写API组合代码会让你迅速坠入回调地狱。代码会变得混乱、难以理解且容易出错。一个更好的方法是使用响应式方法以一种声明式样式编写API网关代码......
  • 借助工业网关如何实现罗克韦尔PLC的远程监控和维护?
    罗克韦尔是一个具有大中小型控制系统的PLC品牌,Micro800和MicroLogix是小型PLC,CompactLogix、SmartGuard600和SLC500是中型PLC,大型PLC有ControlLogix、GuardPLC和Softlogix......
  • GatewayWorker websocket 连接 1 分钟后自动断开原因?
    GatewayWorker配置通过nginx转发,客户端定时(每60秒)发送心跳,心跳间隔设置如下://心跳间隔$gateway->pingInterval=30;$gateway->pingNotResponseLimit=6;//心跳数据$g......
  • 记一次服务器到网关丢包排查
    1.现状描述 服务器网线接入到接入交换机,接入交换机4条光纤聚合上联到网关交换机,接入交换机至网关交换机距离很近。2.故障现象 服务器到网关丢包6%左右,丢包无时间段......
  • 工业物联网网关助力打造绿色低碳的智能制造工厂
    制造加工行业的发展让人类有更多更强的能力去获取资源与改造自然,可以极大的提升人们的生活水平。但长期以来,我国制造业形成了以“高投入、高能耗、高排放”的粗放型模式,带来......
  • SpringCloud整合分布式事务Seata 1.4.1 支持微服务全局异常拦截
    项目依赖SpringBoot2.5.5SpringCloud2020.0.4AlibabaSpringCloud2021.1MybatisPlus3.4.0Seata1.4.1(需要与服务器部署的Seata版本保持一致)。。。。Seata介......
  • SpringCloud之Feign讲解
    目录1Feign1.1定义1.1.1简介1.1.2属性介绍1.1.3原理解析1.2Feign准备工作1.2.1引入依赖1.2.2启动类和yml文件1.3使用Feign1.3.1简单使用@FeignClient1.3.2@Requ......
  • 两类常见场景下的云原生网关迁移实践
    作者:如葑云原生网关将流量网关、微服务网关、安全网关三合一,被誉为下一代网关,完全兼容KubernetesIngress标准API,解决了三层网关架构独立设计、独立运维导致的资源消耗大......
  • springcloud学习记录day05--分布式搜索 elasticsearch
    分布式搜索-elsaticsearchelasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容,从而弥补MySQL在复杂搜索上的短板......
  • spring cloud gateway与nacos整合报503错误
    最近做springcloud中的gateway组件与nacos的整合测试,application.yml的配置如下:server:port:8222#服务端口spring:application:name:service-gateway#服......