SpringCloud Zuul(路由网关)

⒈Zuul是什么?

  Zuul包含了两个最主要的功能,对请求的路由和过滤。其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础。过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等动能的基础。

  Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其它微服务的消息,也就是说,以后访问微服务都是通过Zuul跳转后获得。Zuul服务最终还是会注册进Eureka。

  

⒉示例

  ①新建路由项目,添加依赖

复制代码
 1         <dependency>
 2             <groupId>org.springframework.boot</groupId>
 3             <artifactId>spring-boot-starter-web</artifactId>
 4         </dependency>
 5         <dependency>
 6             <groupId>org.springframework.cloud</groupId>
 7             <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
 8         </dependency>
 9         <dependency>
10             <groupId>org.springframework.cloud</groupId>
11             <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
12         </dependency>
复制代码

  ②配置文件(yml)

复制代码
1 spring:
2   application:
3     name: user-zuul
4 eureka:
5   instance:
6     prefer-ip-address: true #主机ip是否显示
7   client:
8     service-url:
9       defaultZone: http://localhost:8761/eureka/
复制代码

  ③主程序启动类添加@EnableZuulProxy注解

复制代码
 1 package cn.coreqi;
 2 
 3 import org.springframework.boot.SpringApplication;
 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
 5 import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
 6 
 7 @SpringBootApplication
 8 @EnableZuulProxy
 9 public class SpringbootcloudzuulApplication {
10 
11     public static void main(String[] args) {
12         SpringApplication.run(SpringbootcloudzuulApplication.class, args);
13     }
14 
15 }
复制代码

  ④访问http://localhost:9527/user-provider/users  http://localhost:9527:网关  user-provider:微服务名称  users:调用

  ⑤★配置文件高级设置

复制代码
 1 server:
 2   port: 9527
 3 spring:
 4   application:
 5     name: user-zuul
 6 eureka:
 7   instance:
 8     prefer-ip-address: true #主机ip是否显示
 9   client:
10     service-url:
11       defaultZone: http://localhost:8761/eureka/
12 zuul:
13   ignored-services: "*" #禁用所有真实微服务地址访问
14   #ignored-services: user-provider #禁用单个的真实微服务地址访问
15   prefix: /coreqi #统一访问公共前缀
16   routes:
17     user.serviceId: user-provider
18     user.path: /test/** #微服务域名映射
复制代码

  ⑥访问http://localhost:9527/coreqi/test/users

  

作者:奇

出处:https://www.cnblogs.com/fanqisoft/p/10485939.html

版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。

posted @   SpringCore  阅读(261)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示