加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

SpringCloud-6-Zuul

发布时间:2020-12-15 01:16:09 所属栏目:大数据 来源:网络整理
导读:Zuul 目录 Zuul 1. 概述 2. 使用Zuul 1. 导入依赖 2. 配置Zuul 3. 配置主启动类 3. 测试 1. 概述 Zuul包含了对 请求的路由 和 过滤 两个最主要的功能 Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的信息,也即

Zuul

目录
  • Zuul
    • 1. 概述
    • 2. 使用Zuul
      • 1. 导入依赖
      • 2. 配置Zuul
      • 3. 配置主启动类
    • 3. 测试

1. 概述

  • Zuul包含了对请求的路由过滤两个最主要的功能
  • Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的信息,也即以后的访问微服务是通过Zuul跳转后获得
  • Zuul服务最终还是回注册进Eureka
  • 提供: 代理 + 路由 + 过滤 三大功能

2. 使用Zuul

1. 导入依赖

由于Zuul要注册到Eureka中,因此需要同时导入Eureka和Zuul的依赖

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

2. 配置Zuul

server:
  port: 9527

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: zuul_9572.com
    prefer-ip-address: true

info:
  app.name: wang-springcloud
  company.name: wangStudy.com
  
zuul:
  routes:
    mydept: 
      serviceId: springcloud-provider-dept
      path: /mydept/**
#  ignored-services: springcloud-provider-dept #不能再使用这个路径访问了
  ignored-services: "*"   #隐藏全部的真实服务名
  prefix: /wang   #设置公共的访问前缀

我们这里使用9527端口

注意

  • Zuul要注册到Eureka中,因此要配置服务名以及Eureka发现
  • 在zuul的配置中,serviceId属性指定一个微服务的名字,path指定这个微服务被zuul重定向后的位置,这样就可以实现隐藏我们微服务的真实的名称
  • 在zuul的配置中,ignored-services表示要隐藏的服务,指定了某个服务之后,就不能用真实的服务名访问了,提高了安全性. 我们可以用 "*" 通配符来隐藏全部的微服务名称
  • 在zuul的配置中,prefix指定了前缀,一旦设定了前缀,必须加上前缀才能访问

3. 配置主启动类

package com.wang.springcloud;

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

@SpringBootApplication
//开启Zuul
@EnableZuulProxy
public class ZuulApplication_9527 {
    public static void main(String[] args) {
        SpringApplication.run(ZuulApplication_9527.class,args);
    }
}

在启动类上加上 @EnableZuulProxy 注解即可使Zuul生效

3. 测试

为了使得访问更加真实,我们在hosts中将localhost配置为了www.wangStudy.com

发现,访问 http://www.wangstudy.com:9527/wang/mydept/dept/list 可以得到预期的结果

image-20201013101301770

而访问不带前缀或者直接访问微服务的名称,则会报告404错误

image-20201013101359795

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读