SpringCloud Zuul的使用简介

 更新时间:2021年04月16日 09:57:27   作者:遇见_line  
这篇文章主要介绍了SpringCloud Zuul的使用简介,帮助大家更好的理解和学习使用Spring Cloud,感兴趣的朋友可以了解下

简介

  • Zuul是Spring Cloud全家桶中的微服务API网关。 所有从设备或网站来的请求都会经过Zuul到达后端的Netflix应用程序
  • Zuul 主要提供路由(请求转发)和过滤
  • Zuul 最终会注入Eureka

提供: 代理,过滤和路由三大功能

使用

导入依赖

    <!--zuul组件、zuul需要注册至eureka中-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zuul</artifactId>
        <version>1.4.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        <version>2.0.2.RELEASE</version>
    </dependency>

配置文件

server:
  port: 9527
spring:
  application:
    name: springcloud-zuul
eureka:
  client:
    service-url:
      defaultZone: http://eureka1:7001/eureka/,http://eureka2:7002/eureka/,http://eureka3:7003/eureka/

  instance:
    instance-id: zull9527.com #别名

开启支持

@SpringBootApplication
@EnableZuulProxy//开启zuul支持,默认注册到Eureka
public class Zuul9527Application {
    public static void main(String[] args) {
        SpringApplication.run(Zuul9527Application.class,args);
    }
}

此时我们可以通过 地址:端口号/服务名称/服务 来访问了

注意:此处需在host文件添加 127.0.01 www,zuultest.com

为了不使我们的服务名称暴露我们可以在配置文件中添加

zuul:
  routes:
    xxx.serviceId: provider-name # xxx代表任意名称
    xxx.path: /mydept/** 
  ignored-services: provider-name # 不再通过这个路径访问即不允许通过服务名直接访问
  prefix: /lin # 访问路径必须加上前缀/lin

此时只有通过 地址:端口号/lin/mydept/服务 来访问

补充: 为什么在配置文件中是使用serviceId和path 在zull中route是以键值对的形式存放的

public void setRoutes(Map<String, ZuulRoute> routes) {
		this.routes = routes;
	}

而在ZuulProperties中

/**
 * Represents a Zuul route.
 */
public static class ZuulRoute {
        /**
         * The path (pattern) for the route, e.g. /foo/**.
         */
        private String path;
        /**
	* The service ID (if any) to map to this route. You can specify a physical URL or
        * a service, but not both.
	*/
         private String serviceId;
      }

以上就是SpringCloud Zuul的使用简介的详细内容,更多关于SpringCloud Zuul的使用的资料请关注脚本之家其它相关文章!

相关文章

  • Java不可变类机制浅析

    Java不可变类机制浅析

    所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值。如JDK内部自带的很多不可变类:Interger、Long和String等。接下来通过本文给大家介绍Java不可变类机制,需要的朋友参考下
    2017-02-02
  • Java8新特性:Lambda表达式之方法引用详解

    Java8新特性:Lambda表达式之方法引用详解

    这篇文章主要给大家介绍了关于Java8新特性:Lambda表达式之方法引用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Java基础必学TreeSet集合

    Java基础必学TreeSet集合

    这篇文章主要介绍了Java必学基础TreeSet集合,TreeSet集合实现了SortedSet接口, 可以对集合中元素进行自然排序, 要求集合中的元素必须是可比较的。下文详细介绍需要的朋友可以参考一下
    2022-04-04
  • 重新认识Java中的ThreadLocal

    重新认识Java中的ThreadLocal

    ThreadLocal是JDK包提供的,它提供线程本地变量,如果创建一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个副本,在实际多线程操作的时候,操作的是自己本地内存中的变量,从而规避了线程安全问题
    2021-05-05
  • Spring boot + mybatis + orcale实现步骤实例代码讲解

    Spring boot + mybatis + orcale实现步骤实例代码讲解

    这篇文章主要介绍了Spring boot + mybatis + orcale的实现步骤实例代码讲解,需要的朋友可以参考下
    2017-12-12
  • 解决java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver报错问题

    解决java.lang.ClassNotFoundException: com.mysql.cj.jdbc.D

    这篇文章主要介绍了解决java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • springboot整合mybatis-plus实现多表分页查询的示例代码

    springboot整合mybatis-plus实现多表分页查询的示例代码

    这篇文章主要介绍了springboot整合mybatis-plus实现多表分页查询的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • JAVA实现JSON后端向前端传递数据

    JAVA实现JSON后端向前端传递数据

    本篇文章主要介绍了JAVA实现JSON后端向前端传递数据,这里整理了详细的代码,具有一定的参考价值,有需要的小伙伴可以参考下。
    2017-03-03
  • Java基础学习之方法的重载知识总结

    Java基础学习之方法的重载知识总结

    今天带大家来回顾Java基础知识,文中对Java方法的重载相关知识作了非常详细的介绍,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-05-05
  • Java动态调用类中方法代码

    Java动态调用类中方法代码

    这篇文章主要介绍了Java动态调用类中方法代码,需要的朋友可以参考下
    2014-02-02

最新评论