SpringCloud中Zuul网关原理及其配置,看它就够了!

zuul.routes.eureka-application-service.path=/api/**

# 参数key结构:zuul.routes.customName.url=xxx

url用于配置符合path的请求路径路由到的服务地址。

zuul.routes.eureka-application-service.url=http://127.0.0.1:8080/

4.2 服务名称匹配

# service id pattern 通过服务名称路由

key结构 :zuul.routes.customName.path=xxx

# 路径匹配规则

zuul.routes.eureka-application-service.path=/api/**

key结构 :zuul.routes.customName.serviceId=xxx

serviceId用于配置符合path的请求路径路由到的服务名称。

zuul.routes.eureka-application-service.serviceId=eureka-application-service

服务名称匹配也可以使用简化的配置:

# simple service id pattern 简化配置方案

# 如果只配置path,不配置serviceId。则customName相当于服务名称。

# 符合path的请求路径直接路由到customName对应的服务上。

zuul.routes.eureka-application-service.path=/api/**

4.3 路由排除配置

# ignored service id pattern

# 配置不被zuul管理的服务列表。多个服务名称使用逗号’,'分隔。

# 配置的服务将不被zuul代理。

zuul.ignored-services=eureka-application-service

# 此方式相当于给所有新发现的服务默认排除zuul网关访问方式,只有配置了路由网关的服务才可以通过zuul网关访问

# 通配方式配置排除列表。

zuul.ignored-services=*

# 使用服务名称匹配规则配置路由列表,相当于只对已配置的服务提供网关代理。

zuul.routes.eureka-application-service.path=/api/**

# 通配方式配置排除网关代理路径。所有符合ignored-patterns的请求路径都不被zuul网关代理。

zuul.ignored-patterns=//test/

zuul.routes.eureka-application-service.path=/api/**

4.4 路由前缀配置

# prefix URL pattern 前缀路由匹配

# 配置请求路径前缀,所有基于此前缀的请求都由zuul网关提供代理。

zuul.prefix=/api

# 使用服务名称匹配方式配置请求路径规则。

# 这里的配置将为:http://ip:port/api/appservice/**的请求提供zuul网关代理,可以将要访问服务进行前缀分类。

# 并将请求路由到服务eureka-application-service中。

zuul.routes.eureka-application-service.path=/appservice/**

5 Zuul网关配置总结

网关配置方式有多种,默认、URL、服务名称、排除|忽略、前缀。

网关配置没有优劣好坏,应该在不同的情况下选择合适的配置方案。扩展:大公司为什么都有API网关?聊聊API网关的作用

zuul网关其底层使用ribbon来实现请求的路由,并内置Hystrix,可选择性提供网关fallback逻辑。使用zuul的时候,并不推荐使用Feign作为application client端的开发实现。毕竟Feign技术是对ribbon的再封装,使用Feign本身会提高通讯消耗,降低通讯效率,只在服务相互调用的时候使用Feign来简化代码开发就够了。而且商业开发中,使用Ribbon+RestTemplate来开发的比例更高。

三、Zuul网关过滤器


Zuul中提供了过滤器定义,可以用来过滤代理请求,提供额外功能逻辑。如:权限验证,日志记录等。

Zuul提供的过滤器是一个父类。父类是ZuulFilter。通过父类中定义的抽象方法filterType,来决定当前的Filter种类是什么。有前置过滤、路由后过滤、后置过滤、异常

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud是一个开源的微服务框架,它提供了一系列的工具和组件,用于构建分布式系统的各个微服务。其包括服务注册与发现、配置心、网关和服务调用等功能。 服务注册与发现是Spring Cloud的一个重要组件,它使用Eureka作为服务注册心。通过在微服务引入依赖org.springframework.cloud:spring-cloud-starter-eureka,可以实现将微服务注册到Eureka服务器上。\[1\] 配置心是用于集管理微服务的配置信息的组件。在Spring Cloud,可以使用Spring Cloud Config来实现配置心的功能。通过在微服务引入依赖org.springframework.cloud:spring-cloud-starter-config,可以将配置信息存储在配置心,并在微服务启动时从配置心获取配置信息。 ZuulSpring Cloud网关组件,它可以实现请求的路由、负载均衡、过滤等功能。在微服务引入依赖org.springframework.cloud:spring-cloud-starter-zuul,使用@EnableZuulProxy注解开启Zuul网关。\[2\]\[3\] Feign是Spring Cloud的服务调用组件,它可以简化微服务之间的调用过程。通过在微服务引入依赖org.springframework.cloud:spring-cloud-starter-feign,可以使用Feign来定义和实现服务之间的调用接口。 综上所述,Spring Cloud提供了服务注册与发现、配置心、网关和服务调用等功能,可以帮助开发者构建和管理分布式系统的微服务。 #### 引用[.reference_title] - *1* *3* [非常全面的讲解SpringCloudZuul网关原理及其配置,看它就了!](https://blog.csdn.net/bishe_teacher/article/details/107844103)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [全面的讲解SpringCloudZuul网关原理及其配置,看它就了](https://blog.csdn.net/Cr1556648487/article/details/126543111)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值