当前位置:网站首页>Gateway路由的配置方式
Gateway路由的配置方式
2022-07-31 01:29:00 【万里长江雪】
路由的配置方式
路由是网关配置的基本组成模块,和Zuul的路由配置模块类似。一个Route模块由一个 ID,一个目标 URI,一组断言和一组过滤器定义。如果断言为真,则路由匹配,目标URI会被访问。
基础路由配置方式
如果请求的目标地址,是单个的URI资源路径,配置文件实例如下。
spring:
application:
name: api-gateway
cloud:
gateway:
routes:
- id: service1
uri: https://blog.csdn.net
predicates:
- Path=/csdn
各字段含义如下。
- id:我们自定义的路由 ID,保持唯一
- uri:目标服务地址
- predicates:路由条件,Predicate 接受一个输入参数,返回一个布尔值结果。该接口包含多种默认方法来将 Predicate 组合成其他复杂的逻辑(比如:与,或,非)。
上面这段配置的意思是,配置了一个 id 为 url-proxy-1的URI代理规则,路由的规则为,当访问地址http://localhost:8080/csdn时,会路由到地址https://blog.csdn.net。
基于代码的路由配置方式
转发功能同样可以通过代码来实现,我们可以在启动类 GateWayApplication 中添加方法 customRouteLocator() 来定制转发规则。
@SpringBootApplication
@EnableDiscoveryClient
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route("path_route", r -> r.path("/csdn")
.uri("https://blog.csdn.net"))
.build();
}
}
和注册中心相结合的路由配置方式
在uri的schema协议部分为自定义的lb:类型,表示从微服务注册中心(如Eureka)订阅服务,并且通过负载均衡进行服务的路由。代码如下。
server:
port: 8080
spring:
application:
name: api-gateway
cloud:
gateway:
routes:
- id: service1
# uri: http://127.0.0.1:9001
uri: lb://cloud-payment-service
predicates:
- Path=/payment/**
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:9004/eureka
注:这里cloud-payment-service是提前注册好的服务,且开放两个端口9000,9001供伦循使用。
注册中心相结合的路由配置方式,与单个URI的路由配置,区别其实很小,仅仅在于URI的schema协议不同。单个URI的地址的schema协议,一般为http或者https协议。启动多个支付微服务,会发现端口9000,9001轮流出现。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢

The sword refers to offer17---print the n digits from 1 to the largest

解析云原生消息流系统 Apache Pulsar 能力及场景

4G通信模块CAT1和CAT4的区别

使用PageHelper实现分页查询(详细)

九州云入选“可信云最新评估体系及2022年通过评估企业名单”

第一学年课程期末考试

数字图像隐写术之JPEG 隐写分析

TiDB 在多点数字化零售场景下的应用

Jiuzhou Cloud was selected into the "Trusted Cloud's Latest Evaluation System and the List of Enterprises Passing the Evaluation in 2022"

TiCDC 架构和数据同步链路解析
随机推荐
Kyushu cloud as cloud computing standardization excellent member unit
Parameter introduction and selection points of wireless module
Problem record in the use of TypeScript
MySQL——数据库的查,增,删
手把手教你配置Jenkins自动化邮件通知
android的webview缓存相关知识收集
观察者(observer)模式(一)
有没有可以做副业可以日入300元方法?
分布式.分布式锁
《实战》基于电商领域的词性提取及其决策树模型建模
认识DTU什么是4GDTU设备
1782. 统计点对的数目 双指针
ShardingSphere's public table combat (7)
设置浏览器滚动条样式
typescript9-常用基础类型
使用docker安装mysql
力扣每日一题-第46天-704. 二分查找
typescript16-void
《实战》基于情感词典的文本情感分析与LDA主题分析
华为“天才少年”稚晖君又出新作,从零开始造“客制化”智能键盘