首页 > 其他分享 >spring cloud gateway使用 uri: lb://方式配置时,服务名的特殊要求

spring cloud gateway使用 uri: lb://方式配置时,服务名的特殊要求

时间:2024-03-01 12:34:04浏览次数:27  
标签:http 方式 spring uri brilliance lb gateway

在gateway中配置uri配置有三种方式,包括
第一种:ws(websocket)方式: uri: ws://localhost:9000
第二种:http方式: uri: http://localhost:8130/
第三种:lb(注册中心中服务名字)方式: uri: lb://brilliance-consumer

 

 

其中ws和http方式不容易出错,因为http格式比较固定,但是lb方式比较灵活自由。不考虑网关,只考虑服务时,服务名命名时比较自由,都能启动被访问,被注册到注册中心,但是如果提供给gateway使用时,就会对服务命名方式有特殊要求了。
能被gateway的lb方式识别到的命名规则为:

"[a-zA-Z]([a-zA-Z]|\\d|\\+|\\.|-)*:.*"

这也意味着,java命名规范中可以使用的英文下划线("_")不能被识别,而我命名为:brilliance_consumer,刚好带下划线,改为brilliance-consumer后则可以正常通过网关访问自己项目。
如果名字中有非*“a-zA-Z:.”*规则字符,则会报错,
规则见包org.springframework.cloud.gateway.filter中的类RouteToRequestUrlFilter:

标签:http,方式,spring,uri,brilliance,lb,gateway
From: https://www.cnblogs.com/zhyp/p/18046710

相关文章

  • SpringBoot定时任务:使用shedlock解决SpringBoot分布式定时任务
    第一步:引入shedlock包maven中pom文件添加如下配置:<dependency><groupId>net.javacrumbs.shedlock</groupId><artifactId>shedlock-spring</artifactId><version>4.33.0</version>使用其他版本</dependency>第二步:添加shedlock-p......
  • Spring Boot + liteflow 规则引擎,太香了!
    作者:豫州牧链接:https://juejin.cn/post/72967717700987453441、前言在日常的开发过程中,经常会遇到一些串行或者并行的业务流程问题,而业务之间不必存在相关性。在这样的场景下,使用策略和模板模式的结合可以很好的解决这个问题,但是使用编码的方式会使得文件太多,在业务的部分环......
  • Spring @Configuration 和 @Component 区别
    Spring@Configuration和@Component区别一句话概括就是@Configuration中所有带@Bean注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例。 @Configuration注解:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic@......
  • 1D-Measuring
    1.核心算子measure_pos—Extractstraightedgesperpendiculartoarectangleorannulararc.  提取垂直于矩形或环形圆弧的直边measure_pairs—Extractstraightedgepairsperpendiculartoarectangleorannulararc提取垂直于矩形或环形圆弧的直边对;将返回......
  • springboot应用中根据特定条件使用CommandLineRunner
    PS使用SpringBoot3.1.2进行测试1.使用@ConditionalOnProperty仅当特定属性存在或具有特定值时,注释@ConditionalOnProperty才会创建bean。在此示例中,仅当或文件中的CommandLineRunner属性db.init.enabled设置为true时才会执行application.propertiesapplication.ymlpac......
  • Spring Boot学习日记17
    尝试整合JDBC spring:datasource:username:rootpassword:123456url:jdbc:mysql://localhost:3306/mybatis?useSSL=true&userUniceode=true&characterEncoding=utf8driver-class-name:com.mysql.cj.jdbc.Driverpackagecom.example.spri......
  • Spring Boot学习日记9
    在springboot项目中的resources目录下新建一个文件application.yml编写一个实体类Dog;packagecom.example.springboot02configure.pojo;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereotype.Component;@Component//添加......
  • Spring Boot学习日记6
    @SpringBootConfiguration:SpringBoot的配置@Configuration:spring配置类@Component:说明这也是一个spring的组件@EnableAutoConfiguration:自动配置@AutoConfigurationPackage:自动配置包@Import({Registrar.class}):导入了选择器@Import({AutoConfigurationImportSelect......
  • Spring Boot学习日记7
    学会了配置springboot导入各种组件SpringBoot在启动的时候,从类路径下/META-INF/spring.factories获取指定的值将这些自动配置的类导入容器,自动配置类就会生效,帮我们进行自动配置以前我们需要自动配置的东西,现在不需要了整合javaEE,解决方案和自动配置的东西都在Spring-boot-......
  • 三分钟数据持久化:Spring Boot, JPA 与 SQLite 的完美融合
    三分钟,迎接一个更加高效和简便的开发体验。在快节奏的软件开发领域,每一个简化工作流程的机会都不容错过。想要一个无需繁琐配置、能够迅速启动的数据持久化方案吗?这篇文章将是你的首选攻略。在这里,我们将向你展示如何将SpringBoot的便捷性、JPA的强大查询能力和SQLite的......