SpringCloud - Zuul路由网关
Posted Lam
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud - Zuul路由网关相关的知识,希望对你有一定的参考价值。
一、概述
Zuul提供了代理、路由、过滤三大功能!
主要的功能:
● 路由:负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础。
● 过滤:负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础。
Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时还可以从Eureka中获取其他微服务的消息,以后访问微服务都是通过Zuul跳转后获得的。
注意:Zuul服务最终还是会注册进Eureka
二、代码实现
新建一个模块 springcloud-zuul-9207
导入依赖
<!-- zuul --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zuul</artifactId> <version>1.4.6.RELEASE</version> </dependency> <!-- 由于zuul 也是微服务所以应该属于euaeka的客户端,所以需要引入这个 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> <version>1.4.6.RELEASE</version> </dependency> <!-- web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 热部署工具 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
新建application.yaml,进行配置
server: port: 9207 # Spring配置 spring: application: name: springcloud-zuul # Eureka配置 eureka: client: service-url: defaultZone: http://localhost:7001/eureka/,http://localhost:7002/eureka/,http://localhost:7003/eureka/ instance: instance-id: zuul9207.com prefer-ip-address: true # 隐藏真实IP # zuul路由配置 zuul: routes: # 隐藏服务名称,通过新的path访问 mydept.serviceId: springcloud-provider-dept mydept.path: /mydept/** ignored-services: springcloud-provider-dept # 忽略服务,不能再使用这个路径访问,"*"可以隐藏全部 prefix: /cyan # 设置统一公共的前缀 # 配置信息 info: app.name: cyan-springcloud company.name: blog.cyan.com
新建一个主启动类,并添加 @EnableZuulProxy 注解
@SpringBootApplication @EnableZuulProxy // 开启代理 public class ZuulApplication_9207 { public static void main(String[] args) { SpringApplication.run(ZuulApplication_9207.class, args); } }
三、测试
① 配置 serviceId 和 path
只能通过 http://localhost:9207/mydept/dept/get/1 与 http://localhost:9207/springcloud-provider-dept/dept/get/1 访问
② 增加 ignored-services 忽略配置,可以配置星号 "*" 忽略所有
只能通过 http://localhost:9207/mydept/dept/get/1 访问
③ 配置 prefix 增加统一的前缀
只能通过 http://localhost:9207/cyan/mydept/dept/get/1 访问
以上是关于SpringCloud - Zuul路由网关的主要内容,如果未能解决你的问题,请参考以下文章