我是靠谱客的博主 负责便当,最近开发中收集的这篇文章主要介绍微服务架构-路由网关spring cloud zuul,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 <!--路由网关spring cloud zuul微服务系统安全组件,用于构建边界服务,致力于动态路由,过滤,监控,弹性伸缩和安全。
 为什么需要Zuul
   1.zuul,ribbon,eureka结合实现智能路由均衡负载等功能,zuul呢能够将请求流量按某种策略分发到集群状态的多个服务实例
   2.网关将所有服务的API接口统一聚合,并统一对外暴露,这样,外界不需要知道微服务系统的复杂性,同时也保护了内部的微服务单元的API接口,防止被外界直接调用
   3.网关服务可以做用户身份认证和权限认证
   4.可以实现监控功能,日志打印,对请求进行记录
   5.可以实现流量监控,高流量下对服务进行降级
   6.api接口从内部服务分离开来,方便测试
   -->
<!--Zuul工作原理
   Zuul通过Servlet来实现,Zuul通过自定义的ZuulServlet来对请求进行控制。Zuul的核心是一系列的过滤器,可以在http请求的发起和响应返回期间执行一系列的过滤器
   过滤器分为四种
    PRE过滤器
    ROUTING过滤器
    POST过滤器
    ERROR过滤器
    他们之间不能通信,但是每个请求都会创建requestContext对象
    当一个request请求进去到zuul网管服务时,先进入pre filter进行一系列的验证操作或是判断,然后进入routing filter进行路由转发,转发到具体的服务实例进行逻辑处理,
    返回数据。当具体服务处理完时,再交给post filter处理,处理完就返回Response
   ZuulServlet是Zuul的核心servlet。ZuulServlet的作用是初始化ZuulFilter,并编排这些ZuulFilter的执行顺序
   Zuul过滤器关键特性:
     1.类型:不同类型在不同阶段起作用
     2.执行顺序: pre ->routing->post
     3.标准:执行Filter的条件
     4.行为:符合执行条件之后的逻辑

-->

使用

/**
 * 1.添加依赖spring-cloud-starter-zuul
 *
 * 2.注解@EnableZuulProxy
 *
 *3.配置
 * zuul:
 *   routes:
 *     hiapi:
 *      path: /hiapi/**
 *      url: http://localhost:8764
 *     ribbonapi:
 *      path: /ribbonapi/**
 *      serviceId: eureka-ribbon-client    #serviceId做均衡负载 url直接指定服务不做均衡负载只是zuul有效,如果服务做了均衡负载,同时也会做均衡负载
 *     feignapi:
 *       path: /feignapi/**
 *       serviceId: eureka-feign-client
 *   prefix: /v1                            #所有请求路径前加版本号v1           添加版本号
 *
 *4.配置熔断器
 *  实现ZuulFallbackProvider接口 ,并注入到ioc中
 *  getRoute 指定熔断器是哪个服务
 *  fallbackResponse 熔断器开启之后的逻辑处理
 *
 *5.使用过滤器
 * 自定义类 extends ZuulFilter,实现他的抽象方法,并注入到ioc中去
 * filterType过滤器类型  PRE过滤器 ROUTING过滤器 POST过滤器 ERROR过滤器
 * filterOrder 过滤器执行顺序 int型,值越小,越先执行
 *shouldFilter,是否执行过滤逻辑run(),为true执行
 * run,过滤逻辑
 */

最后

以上就是负责便当为你收集整理的微服务架构-路由网关spring cloud zuul的全部内容,希望文章能够帮你解决微服务架构-路由网关spring cloud zuul所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部