Zuul路由网关

suaxi
2020-12-31 / 0 评论 / 92 阅读 / 正在检测是否收录...

Zuul路由网关

Zuul包含对请求的路由和过滤两个功能:

  • 路由功能:负责将外部请求转发到具体的微服务实例上,实现外部访问入口统一
  • 过滤:对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础

注:Zuul服务也会注册到Eureka服务注册中心

1、导入依赖

<dependencies>
    <!--zuul-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zuul</artifactId>
        <version>1.4.7.RELEASE</version>
    </dependency>
    <!--hystrix-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-hystrix</artifactId>
        <version>1.4.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
        <version>1.4.7.RELEASE</version>
    </dependency>
    <!--Ribbon-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-ribbon</artifactId>
        <version>1.4.7.RELEASE</version>
    </dependency>
    <!--Eureka-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
        <version>1.4.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>com.sw</groupId>
        <artifactId>springcloud-api</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

2、application.yml配置

server:
  port: 8888

spring:
  application:
    name: springcloud-zuul

eureka:
  client:
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
  instance:
    instance-id: zuul8888.com
    prefer-ip-address: true

info:
 app.name: springcloud-demo
 company.name: suaxi

zuul:
  routes:
    mydept.serviceID: springcloud-provider-dept
    mydept.path: /mydept/**
  ignored-services: "*" 
#ignored-services: springcloud-provider-dept禁止使用原来的微服务名访问
#设置为 * 表示禁止使用全部的微服务ID进行访问

3、SpringBoot启动类开启Zuul注解

一般使用@EnableZuulProxy

package com.sw.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

/**
 * @Author suaxi
 * @Date 2020/12/30 10:50
 */

@SpringBootApplication
@EnableZuulProxy //开启Zuul路由网关
public class ZuulApplication_8888 {
    public static void main(String[] args) {
        SpringApplication.run(ZuulApplication_8888.class,args);
        //http://www.xxx.com:8888/mydept/dept/get/1
    }
}

开启Zuul路由网关后,可通过:域名+端口号 访问微服务项目

0

评论 (0)

取消