09-SpringCloud 之 Zuul
什么是 Zuul
Zuul 即:服务网关,它包含了对请求的路由和过滤两个主要功能
Zuul 的使用
-
新建 Module:spring-cloud-zuul-9527
-
编写 pom 引入依赖
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>spring-cloud-netflix</artifactId> <groupId>com.kaishen</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>spring-cloud-zuul-9527</artifactId> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <!-- 引入该模块所需依赖 --> <dependencies> <!-- Eureka Client --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <!-- zuul --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zuul</artifactId> </dependency> </dependencies> </project>
-
编写 application.yml 配置路由及拦截
Zuul 也需要注册到 Eurekaapplication.yml
server: port: 9527 # Spring 配置 spring: application: name: spring-cloud-zuul # Eureka 配置 eureka: client: service-url: defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/ instance: instance-id: www.zuul9527.com # 服务描述信息 prefer-ip-address: true # 显示 ip 地址 # 监控信息 info: app.name: kaishen-spring-cloud-zuul9527 # Zuul 配置 zuul: routes: mydept.serviceId: spring-cloud-provider-dept # 微服务名,对 9527 的访问将会被路由到该服务 mydept.path: /mydept/** # url 地址拦截 ignored-services: spring-cloud-provider-dept # 忽略,即不能使用微服务名进行访问 ("*" 表示隐藏所有微服务) prefix: /kaiye/ # 访问前缀
-
编写启动类,开启注解
ZuulApplication9527
package com.kaishen; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; /** * 路由网关启动类 * @author : toby * Create in 17:46 2022/5/9 */ @SpringBootApplication @EnableZuulProxy public class ZuulApplication9527 { public static void main(String[] args) { SpringApplication.run(ZuulApplication9527.class, args); } }
-
访问:
在 C:\Windows\System32\drivers\etc\hosts 中配置主机映射,即可使用http://www.kaishen.com:9527/kaiye/mydept/dept/get/1
访问后端服务
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?