SpringCloud Zuul的使用简介

目录
  • 简介
  • 使用

简介

  • 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的使用的资料请关注我们其它相关文章!

(0)

相关推荐

  • 解决springcloud Zuul丢失Cookie的问题

    springcloud 配置智能路由zuul 后 转发请求指定的方法后会导致 cookie 无法获取的问题,主要解决方法是 再application 配置文件中加入 sensitive-headers: zuul: routes: yyxt: path: /** serviceId: com.modou.dpt sensitive-headers: custom-sensitive-headers: true 我的是这样的,具体原理是zuul 中 sensitiveHeaders的默认值初始值是

  • SpringCloud Zuul网关功能实现解析

    简介 API Gateway,时系统的唯一对外的入口,介于客户端和服务端之间的中间层,处理非业务功能, 提供路由请求,鉴权,监控,缓存,限流等功能 统一接入 智能路由 AB测试.灰度测试 负载均衡.容灾处理 日志埋点(类似 Nignx日志) 流量监控 限流处理 服务降级 安全防护 鉴权处理 监控 机器网终隔离 1.添加依赖 注意SpringBoot和SpringCloud版本兼容 <dependency> <groupId>org.springframework.cloud<

  • SpringCloud Zuul过滤器和谷歌Gauva实现限流

    前提: 已经配置Zuul网关 参考: https://www.jb51.net/article/182894.htm 限流方式: 1)nginx层限流 2)网关层限流 1.添加限流过滤器 import com.alibaba.fastjson.JSON; import com.google.common.util.concurrent.RateLimiter; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.

  • SpringCloud Zuul服务功能与使用方法解析

    Zuul是什么? Zuul包含了对请求的路由和过滤两个最主要的功能: 其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验.服务聚合等功能的基础. Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得. 注意:Zuul服务最终还是会注册进Eureka 提供=代理+路由+过滤三大功能 •创建项目,

  • SpringCloud Zuul自定义filter代码实例

    实现过滤器很简单,只需要继承ZuulFilter,并实现ZuulFilter中的抽象方法. filterType():定义过滤器的类型,它有4种类型,分别是pre.post.routing和error filterOrder():过滤顺序,它是一个Int类型的值,值越小,越早执行该过滤器 shouldFilter():表示该过滤器是否过滤逻辑,如果为true,则执行run方法,如果为false,则不执行run方法 Object run():写具体的过滤逻辑 注意重要说明,有些版本在转发post时

  • SpringCLoud搭建Zuul网关集群过程解析

    1.使用技术 Springboot,SpringCloud,Zuul,Nignx 2.目的 使用Zuul搭建微服务高可用的网关 3.项目创建 3.1 创建注册中心(略) 3.2 创建一个hello-service的服务工程 3.3 创建springcloud-zuul-ha网关服务 3.3.1 创建工程(略) 3.3.2 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&q

  • SpringCloud Zuul过滤器实现登陆鉴权代码实例

    1.新建一个filter'包 2.新建一个类,实现ZuulFilter,重写里面的方法 3.在顶部类添加注解,@Component,让Spring扫描 /** * 登陆过滤器 */ @Component public class LoginFilter extends ZuulFilter { @Override public String filterType() { //前置过滤器 return PRE_TYPE; } @Override public int filterOrder() {

  • SpringCloud网关组件zuul实例解析

    1.引入如下依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupI

  • SpringCloud Zuul实现动态路由

    前言 Zuul 是在Spring Cloud Netflix平台上提供动态路由,监控,弹性,安全等边缘服务的框架,是Netflix基于jvm的路由器和服务器端负载均衡器,相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门.本文基于上篇(SpringCloud系列--Ribbon 负载均衡)实现Zuul动态路由 GitHub地址:https://github.com/Netflix/zuul 官方文档:https://cloud.spring.io/spring-cloud-

  • SpringCloud Zuul基本使用方法汇总

    SpringCloud Zuul 是SpringCloud系列的网关实现,具有均衡负载,将非业务性校验剥离出来,使微服务专注于业务的一个组件 使用Zuul网关后,所有的请求都通过网络进行转发,所以所有的请求都隐藏了自己的主机及端口信息,而是统一使用Zuul网关的主机及端口号作为请求入口,Zuul网关在收到请求后,会根据serviceId自动发现目标微服务地址,然后将请求转发到目标微服务上进行处理. Zuul仍然是开箱即用工具系列,因此仍然适用4部曲套路: 1. 引入依赖: spring-clou

  • springcloud教程之zuul路由网关的实现

    1.简介 当微服务对外提供接口访问时,并且有多个微服务,外部如何访问到具体的微服务?这时就可以使用网关的路由功能,依据url匹配将请求分别转发到不同的服务上 2.使用 zuul除了有转发功能,还有过滤功能,在网关层面可以对请求权限进行校验,token信息生成,设置token信息过期等等,并且可以将token保存到redis缓存中. <dependency> <groupId>org.springframework.cloud</groupId> <artifact

随机推荐