文章目录

  • ​​一、概述​​
  • ​​二、用处​​
  • ​​三、实验​​
  • ​​第一步:直接搭建项目:springcloud-zuul-9527​​
  • ​​第二步:导入pom依赖​​
  • ​​第三步:配置yml​​
  • ​​第四步:配置主类​​

一、概述

SpringCloud学习九:Zuul 路由网关_cloud native


SpringCloud学习九:Zuul 路由网关_ide_02


SpringCloud学习九:Zuul 路由网关_cloud native_03

二、用处

  1. 路由
  2. 过滤

三、实验

官网 : https://github.com/netflix/zuul

第一步:直接搭建项目:springcloud-zuul-9527

SpringCloud学习九:Zuul 路由网关_云原生_04

第二步:导入pom依赖

<!--实体类+web-->
<dependencies>


<!--zuul-->
<!--erueka-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>

<!--Hystrix依赖~-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<!--Ribbon-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<!--erueka-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>

<dependency>
<groupId>com.kuang</groupId>
<artifactId>springcloud-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<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>
</dependencies>

第三步:配置yml

server:
port: 9527
spring:
application:
name: springcloud-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: zuul9527.com #修改Eureka上的默认描述信息
prefer-ip-address: true # 为true可以显示服务的ip地址
info:
app.name: Kuang-springcloud
company.name: blog.com

#zuul配置
zuul:
routes:
mydept.serviceId: springcloud-provider-dept # 原来的id
mydept.path: /mydept/** # serviceId 和 path 是配套使用的,前面的mydept可以随便
ignored-services:
- springcloud-provider-dept #不能再使用这个路径访问了 这是yml的数组表示方式
# 没有加上面的忽略配置可以直接通过http://www.wu.com:9527/springcloud-provider-dept/dept/get/1访问
prefix: /Kuang # 这个是前缀 比如: http://www.Kuang.com:9527/wu/mydept/dept/get/1

SpringCloud学习九:Zuul 路由网关_云原生_05

第四步:配置主类

@SpringBootApplication
@EnableZuulProxy //加上zuul代理注解即可
public class ZuulApplication_9527 {
public static void main(String[] args) {
SpringApplication.run(ZuulApplication_9527.class, args);
}
}

总共就是这4步

然后启动项目 7001、8001、9527

访问http://www.kuang.com:9527//mydept/dept/get/1 即可得到结果

SpringCloud学习九:Zuul 路由网关_云原生_06


pom配置介绍

#zuul配置
zuul:
routes:
mydept.serviceId: springcloud-provider-dept # 原来的id
mydept.path: /mydept/** # serviceId 和 path 是配套使用的,前面的mydept可以随便
ignored-services:
- springcloud-provider-dept #不能再使用这个路径访问了 这是yml的数组表示方式
# 没有加上面的忽略配置可以直接通过http://www.wu.com:9527/springcloud-provider-dept/dept/get/1访问
prefix: /Kuang # 这个是前缀 比如: http://www.Kuang.com:9527/wu/mydept/dept/get/1